2009-03-02 19 views
8

Compré una MacBook de gama baja hace aproximadamente un mes y finalmente estoy llegando a configurar Python. He hecho la mayor parte de mi trabajo de Python en Windows hasta ahora, y estoy encontrando que las opciones para OS X son un poco desalentadoras. Parece que hay al menos cinco opciones para utilizar para el desarrollo de Python:Recomendaciones para el desarrollo de Python en una Mac?

  • "de la" Apple Python
  • MacPython
  • Fink
  • DarwinPorts
  • roll-su-propio-de-fuente

Todavía estoy desarrollando principalmente para 2.5, por lo que el stock de Python está bien desde el punto de vista de la funcionalidad. Lo que quiero saber es: ¿por qué debería elegir uno sobre el otro?

Actualización: Para aclarar, estoy buscando para una discusión de las diversas opciones, no enlaces a la documentación. He marcado esto como una pregunta de Wiki comunitario, ya que no creo que haya una respuesta "correcta". Gracias a todos los que ya han comentado su visión.

+0

¿Qué tipo de discusión de las diversas opciones está buscando? Por favor aclara tu pregunta. ¿Qué pasa con el documento en http://wiki.python.org/moin/MacPython/Leopard? ¿Qué más te gustaría ver que no esté en este documento? –

+1

La página a la que vinculó tiene una opción: agregar IDLE de MacPython al script de Python original de Apple. Me gustaría ver más ventajas y desventajas de las distintas distribuciones, incluidas las experiencias personales y las razones por las que los usuarios de SO eligen una distribución en particular. – technomalogical

+1

Creo que quisiste enlazar a http://wiki.python.org/moin/MacPython/PythonDistributionsForMac, pero esa página es muy escueta y ofrece muchos términos vagos como "demasiado complicado" y "demasiados ... paquetes" . Además, la página no muestra muchos profesionales de las alternativas. Me pregunto si hay alguno. – technomalogical

Respuesta

2

Recomiendo usar entornos virtuales de Python, especialmente si usa una cápsula de tiempo porque Timecapsule respaldará todo, ¡excepto los módulos que agregó a Python!

+0

Me gusta desarrollar en un entorno virtual. Facilita agregar paquetes que pueden interferir con otros. Limpia el sistema base. –

+0

Estoy de acuerdo esp. ya que el python enviado también se envía con algunas bibliotecas de complementos que podrían entrar en conflicto con las versiones más nuevas que necesita (tuve esto con zope.interface). virtualenv y tu propia instalación de Python previenen esto. – MrTopf

9

Una ventaja que veo en el uso del "stock" Python que se incluye con Mac OS X es que hace que el despliegue a otros Mac sea sencillo. No sé cuál es su escenario de implementación, pero para mí esto es importante. Mi código tiene que ejecutarse en cualquier número de Mac en el trabajo, y trato de minimizar la cantidad de trabajo que se necesita para ejecutar mi código en todos esos sistemas.

+0

Evita a fink: instala algunas cosas extra con las que no estés contento. Use esto: http://wiki.python.org/moin/MacPython/Leopard –

+1

suponiendo que puede tolerar que su python se rompa por igual (he señalado tres ejemplos aquí en SO en los últimos dos días que la gente se había encontrado en el mundo real) y _old_ en todos los Macs, este es un punto válido. – popcnt

+0

Como ya he dado a entender, todo depende de los requisitos de implementación. No puedo esperar que todas las máquinas aquí se actualicen a Python 2.6 o alguna otra configuración que no sea estándar. Pero solo soy yo en este proyecto. –

0

Recomiendo python (any python?) Más el shell de ipython. Mi experiencia más reciente con MacPython fue MacPython 2.5, y encontré IDLE frustrante para usar como editor. No es muy funcional, y es 'muy lento para desplazar grandes cantidades de salida.

3

Depende de lo que estés usando python para. Si está utilizando la funcionalidad de MacOS y cosas como PyObjC, probablemente sea mejor con MacPython o el python proporcionado por Apple.

Uso Python en mi Mac principalmente para el desarrollo de aplicaciones del lado del servidor que luego se ejecutarán en FreeBSD & Linux boxes. Para eso he usado fink python durante algunos años y desde MacPorts python. Con los puertos mac es simple agregar los módulos c necesarios (como el controlador de base de datos, etc.). También es fácil mantener dos versiones de Python (2.5 & 2.6 en mi caso).

Utilicé la función "compilar la tuya" para python antes de la versión 3.0 pero, en general, considero que la administración de las dependencias de los módulos c es dolorosa si se hace a mano.

Gracias a easy_install la instalación de módulos pure python es rápida y fácil para todas las opciones mencionadas anteriormente.

Nunca fui una persona IDE. Para el desarrollo utilizo la subversión de línea de comando instalada por MacPorts, Textmate y ocasionalmente Expandrive hago directamente acceso a los archivos en los servidores. Personalmente, soy muy dependiente de Bicyclerepairman for Textmade para manejar mis necesidades de refactorización.

Otros parecen estar muy contentos con Eclipse & Pydev.

4

Recomiendo usar MacPorts con Porticus para administrar su instalación de Python. Lleva un tiempo construir todo, pero la ventaja es que cualquier cosa que construyas tú mismo se construirá contra las mismas bibliotecas, por lo que no tendrás que moverte con objetos compartidos estáticamente vinculados, etc. si quieres que tus cosas de Python funcionen. con Apache, PostgreSQL, etc.

Si decide ir por este camino, recuerde instalar el puerto python_select y úselo para hacer que su sistema use el Python instalado desde MacPorts.

Como un beneficio adicional, DarwinPorts tiene paquetes para la mayoría de los huevos Python corriente principal, por lo que si usted debe ser capaz de tener que mantener DarwinPorts puesta al día de las últimas versiones de todas esas cosas :)

+0

+1 I segundo porticus y macports – popcnt

+0

Además de la ventaja de la instalación realmente fácil de PIL (la única que encontré trabajando). – zgoda

+0

(Esta es una vieja pregunta, pero estoy poniendo mis dos centavos aquí de todos modos). Recomiendo encarecidamente ** en contra de ** el uso de macports para python en un Mac, a menos que no esté haciendo ningún tipo de interfaz gráfica de usuario con Python, o el uso de bibliotecas inusuales. –

1

En mi entorno de Windows utilizo Eclipse y PyDev, que funciona bastante bien juntos, incluso si es un poco escaso. Aparentemente, el mismo entorno está disponible para Mac también, por lo que sugiero descargar Eclipse y usar la función de actualización interna del software para actualizar PyDev con la URL http://pydev.sourceforge.net/updates/. Para ver más en PyDev, mira here.

1

La pitón suministrada por Apple es bastante antigua: mi instalación de tigre tiene 2.3.5. Esto puede no ser un problema para ti, pero te estarías perdiendo mucho. Además, existe el riesgo de que Apple lo actualice. No estoy seguro si pasar de 2.3.5 a (digamos) 2.4 haría que el código se rompa, pero supongo que es posible. Esto le sucedió a perl personas recientemente: http://developers.slashdot.org/article.pl?sid=09/02/18/1435227

Macpython es una construcción de framework (como la de Apple, creo). Para ser sincero, no estoy seguro de lo que eso significa, pero es un requisito previo para algunos módulos, en particular wxPython. Si obtiene python de macports o fink, no podrá ejecutar wxPython (a menos que lo ejecute a través de X11).

+0

Buen punto sobre wxPython, algo que no había considerado. Apple ha mejorado recientemente su compatibilidad con Python, con la versión 2.5.2 instalada en Leopard, pero la cuestión de Perl también es un buen punto para aumentar. – technomalogical

2

Según la cantidad de errores y omisiones que la gente ha encontrado en Leopard python () aquí, en SO!), No podría recomendar esa versión. por ejemplo, ver:

Yo elegiría DarwinPorts.

No elimina su python existente suministrado por Apple ya que se instala por defecto en /opt/local/bin (juega bien con él) y además es fácil de descargar e instalar módulos adicionales de python (¡incluso módulos binarios que necesita compilar!) . Uso la GUI Porticus para mantener mi lista de paquetes instalados en MacPorts, incluido Python.

3

¿Qué tal EPD de Enthought? Sí, es grande pero es una compilación de framework e incluye elementos como wxPython, vtk, numpy, scipy e ipython incorporados.

Cuestiones relacionadas