101 votos

¿Cuál es el más compatible para instalar módulos de python en Mac?

Estoy empezando a aprender python y amante de ella. Yo trabajo en una Mac, principalmente, así como de Linux. Me estoy encontrando que en Linux (Ubuntu 9.04 en su mayoría) cuando me instale un módulo de python usando apt-get funciona bien. Me puede importar sin problemas.

En el Mac, estoy acostumbrada a usar Macports para instalar todas las Unixy cosas. Sin embargo, me estoy encontrando que la mayoría de los módulos de python me instale con que no son vistos por python. He pasado algún tiempo jugando con la configuración de RUTA de acceso y el uso de python_select . Nada ha funcionado realmente y en este punto no estoy realmente entender, en lugar de sólo estoy hurgando.

Tengo la impresión de que Macports no gustó a todo el mundo para la gestión de los módulos de python. Me gustaría empezar de nuevo utilizando una más "aceptado" (si esa es la palabra correcta).

Así que, me pregunto, ¿cuál es el método que Mac desarrolladores de python utilizar para administrar sus módulos?

Bono de preguntas:

¿El uso de Apple de python, o alguna otra versión? ¿Compilar todo desde el código fuente o es que hay un paquete de pesebre que funciona bien (Fink?).

Consejos y sugerencias aquí son muy apreciados. Gracias por su tiempo. :)

112voto

sixthgear Puntos 3294

La manera más popular para gestionar los paquetes de python (si usted no está utilizando el sistema gestor de paquetes) es el uso de setuptools and easy_install. Es probable que ya ha instalado en su sistema. Utilizar como esta:

easy_install django

easy_install utiliza el Python Package Index , que es un recurso increíble para que los desarrolladores de python. Mire a su alrededor para ver qué paquetes están disponibles.

Una mejor opción es el pip, que está ganando tracción, tal como se intenta solucionar muchos de los problemas asociados con easy_install. Pip usa el mismo repositorio de paquetes como easy_install, simplemente funciona mejor. Realmente el único momento que utiliza necesidad de utilizar easy_install es para este comando:

easy_install pip

Después de eso, utilice:

pip install django

En algún punto, usted probablemente va a querer aprender un poco sobre virtualenv. Si usted hace un montón de python desarrollo de los proyectos con paquete conflictivo requisitos, virtualenv es un regalo del cielo. Esto le permitirá tener completamente diferentes versiones de los diferentes paquetes, y cambiar entre ellas fácilmente según sus necesidades.

Con respecto a que python para usar, cumplir con Apple python que te dará menos dolores de cabeza, pero Si usted necesita una versión más reciente (Leopard es la 2.5.1, creo), me gustaría ir con la macports python 2.6.

34voto

SystematicFrank Puntos 3014

Su pregunta ya tres años y hay algunos detalles que no figuran en otras respuestas:

La mayoría de las personas que conozco el uso de HomeBrew o MacPorts, prefiero MacPorts debido a su corte limpio de lo que es un defecto de Mac OS X medio ambiente y mi desarrollo, el programa de instalación. Acaba de mudarse a su /opt carpeta de prueba y sus paquetes con un usuario normal de Python medio ambiente

MacPorts es sólo portátil dentro de Mac, pero con easy_install o pip, usted aprenderá cómo configurar su entorno en cualquier plataforma (Windows/Mac/Linux/Bsd...). Además, siempre será más actualizada y con más paquetes

Yo, personalmente, dejar MacPorts manejar mi módulos de Python para mantener todo actualizado. Como cualquier otro alto nivel de administrador de paquetes (es decir: apt-get) es mucho mejor para el trabajo pesado de los módulos con un montón de binario dependencias. No hay ninguna manera me gustaría construir mi Qt enlaces (PySide) con easy_install o pip. Qt es enorme y tiene un montón de compilar. Tan pronto como usted desea un paquete de Python que las necesidades de una biblioteca utilizadas por los programas de Python, trate de evitar easy_install o pip

En algún punto, usted encontrará que hay algunos paquetes que faltan dentro de MacPorts. No creo que MacPorts nunca va a dar toda la CheeseShop. Por ejemplo, hace poco tuve el Elixir módulo, pero MacPorts sólo ofrece py25-elixir y py26-elixir, no py27 versión. En estos casos usted tiene:

pip-2.7 install --usuario elixir

( asegúrese siempre de que tipo de pip-(versión) )

Que va a construir un extra de Python la biblioteca de su casa dir. Sí, Python trabajar con más de una ubicación de la biblioteca: uno controlado por MacPorts y un usuario local para que todo lo que falta dentro de MacPorts.

Ahora aviso que estoy a favor de los pip durante easy_install. Hay una buena razón por la que debería evitar setuptools and easy_install. Aquí hay una buena explicación y yo trate de mantenerse alejado de ellos. Una característica muy útil del pip es dar una lista de todos los módulos (a lo largo de sus versiones) que se instala con MacPorts, easy_install y pip sí mismo:

pip-2.7 congelar

Si usted ya empezó a usar easy_install, no te preocupes, pip puede reconocer todo lo que ya se ha realizado por easy_install e incluso actualizar los paquetes instalados con ella.

Si usted es un desarrollador de mantener un ojo en virtualenv para el control de diferentes configuraciones y combinaciones de versiones de módulo. Otras respuestas menciona ya, lo que no es mencionado hasta ahora es el Tox módulo, una herramienta para pruebas de que su paquete se instala correctamente con diferentes versiones de Python.

Aunque por lo general no tienen conflictos de versión, me gustaría tener un virtualenv para establecer un medio ambiente limpio y obtener una visión clara de mi dependencias de paquetes. De esa manera nunca me olvido de las dependencias en mi setup.py

Si usted va para MacPorts ser consciente de que las múltiples versiones del mismo paquete no son seleccionados ya como el antiguo estilo Debian con un extra de python_select paquete (que todavía existe por compatibilidad). Ahora tienes el comando select para elegir que versión de Python serán utilizados (puedes incluso seleccionar la Manzana instalado):

$  port select python
Available versions for python:
    none
    python25-apple
    python26-apple
    python27 (active)
    python27-apple
    python32

$ port select python python32

Añadir tox en la parte superior y de sus programas debe ser realmente portátil

30voto

Michael Aaron Safyan Puntos 45071

Por favor, consulte Python OS X entorno de desarrollo. La mejor manera es utilizar MacPorts. Descargar e instalar MacPorts, a continuación, instalar Python a través de MacPorts escribiendo los siguientes comandos en la Terminal:

sudo port install python26 python_select
sudo port seleccione --python python26

O

sudo port install python30 python_select
sudo port seleccione --python python30

El uso de la primera serie de comandos para instalar Python 2.6 y el segundo set para instalar Python 3.0. A continuación, utilice:

sudo port install py26-packagename

O

sudo port install py30-packagename

En los comandos de arriba, sustituir packagename con el nombre del paquete, por ejemplo:

sudo port install py26-setuptools

Estos comandos se instalará automáticamente en el paquete (y sus dependencias) para la versión de Python.

Para obtener una lista completa de paquetes disponibles para Python, escriba:

lista de puertos | grep py26-

O

lista de puertos | grep py30-

Que comando a utilizar depende de la versión de Python que usted eligió para instalar.

6voto

Ned Deily Puntos 40248

No hay nada malo con el uso de un MacPorts para la instalación de Python. Si va a instalar los módulos de python de MacPorts, pero luego no verlos, que probablemente significa que no están invocando a la MacPorts python instalado. En un terminal de shell, puede utilizar rutas absolutas para invocar los diversos Pitones que puede ser instalado. Por ejemplo:

$ /usr/bin/python2.5         # Apple-supplied 2.5 (Leopard)
$ /opt/local/bin/python2.5   # MacPorts 2.5
$ /opt/local/bin/python2.6   # MacPorts 2.6
$ /usr/local/bin/python2.6   # python.org (MacPython) 2.6
$ /usr/local/bin/python3.1   # python.org (MacPython) 3.1

Para obtener el derecho de python por defecto requiere garantizar su shell $RUTA de acceso está configurado correctamente para garantizar que el derecho ejecutable se encuentra en primer lugar. Otra solución es definir shell alias a las diversas pitones.

Un python.org (MacPython) la instalación está bien, también, como otros han sugerido. easy_install puede ayudar, pero, de nuevo, porque cada Python instancia puede tener su propia easy_install de comandos, asegúrese de que usted está invocando el derecho easy_install.

6voto

Tudorizer Puntos 2647

Si el uso de Python de MacPorts, que tiene su propia easy_install que se encuentra en: /opt/local/bin/easy_install-2.6 (para py26, que es). No es el mismo que el de simplemente llamar a easy_install directamente, incluso si usted utiliza python_select para cambiar el valor predeterminado de comandos de python.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: