2011-06-02 10 views
8

Tengo un par de versiones diferentes de Python instaladas en mi Mac. La versión predeterminada es 2.5, de modo que cuando instalo un módulo, se instala en 2.5. Necesito poder instalar algunos módulos en una versión diferente de Python porque estoy trabajando en proyectos que usan versiones diferentes. ¿Alguien sabe cómo lograr esto? Gracias por tu ayuda.Instalar el módulo de python a la versión no predeterminada de python en Mac

+0

Para una pregunta similar, al instalar módulos con 'easy_install' cuando las diferentes versiones de python, instaladas con macports ara están disponibles, consulte http://stackoverflow.com/questions/5792060/install-easy-with-various-verssions- of-python-installed-mac-osx – juanchopanza

Respuesta

4

Si va a instalar usando setup.py, simplemente se ejecuta a través de la versión adecuada de Python, por ejemplo:

python2.6 setup.py install 

Si está utilizando easy_install debe haber una versión para la versión de Python correspondiente llamada easy_install-NN, por ejemplo

easy_install-2.6 some_module 

Si está trabajando en diferentes proyectos que requieren diferentes versiones de Python, considerar el uso de virtualenv (y virtualenvwrapper) - que le permite disparar y utilizar múltiples entornos cada uno con su propia versión de Python y un conjunto de bibliotecas. Ejemplo de uso sería algo así como:

$ python -V 
Python 2.5.4 
$ mkvirtualenv --python=python2.6 foo 
foo $ python -V 
Python 2.6.1 
foo $ pip install some_mod # installs module in foo's library, rather 
          # than site wide 
foo $ deactivate # leave the virtual env 
$ python -m some_mod 
/path/to/python: No module named some_mod 

Para volver al entorno foo después, utilizar workon:

$ workon foo 
foo $ python -m some_mod # no error, apns available within the env 
foo $ 

Así que usted puede utilizar virtualenv para mantener ambientes separados para cada versión de Python que haya instalado . Dentro de esos entornos, pip y easy_install simplemente hacen lo correcto.

+0

¿Cómo se obtiene exactamente la versión de easy_install que necesita?Ninguna de las cosas que he preparado es fácil o me indica algo que funciona. – Michael

+0

Ok, aparentemente el nombre del paquete es 'setuptools' no' easy_install'. – Michael

2

Si ha instalado utilizando entonces se corre (como root):

port select --set python <python_version> 

Consejo: lista Para ejecutar las versiones disponibles:

port select --list python 

lo contrario se puede establezca la variable de entorno $PYTHON_PATH y agregue la ruta deseada a su $PATH e variable de entorno también.

También deberá actualizar el enlace simbólico python.current (o algo similar) en /Library/Frameworks/Python.framework.


recomiendo encarecidamente instalar todas las versiones utilizando un gestor de paquetes (, , , etc.) por lo que será más fácil de manejar.

+0

'port install python_select' parece proceder bien, pero no hay ningún binario' python_select' después ... – Michael

+0

'python_select' está en desuso. Do 'sudo port select --set python (ej. Python26)' en su lugar. – fardjad

3

Si está instalando a través de setuptools (es decir, python setup.py), instalará en el directorio lib el ejecutable de python que utilice (a menos que sea un paquete roto).

Cuestiones relacionadas