Instalar e importar paquetes de sitio para Python 2 y 3 en Mac

6

Instalé brew y luego

brew install python
brew install python3

Instala flask con pip

pip install flask

Probar

python -c 'import flask'

Pero tengo una excepción

ImportError: No module named flask

Establecer y exportar PYTHONPATH

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

Hasta ahora todo bien. Pero cuando intenté instalar un paquete con pip3 para Python 3, recibí un mensaje de error

Your PYTHONPATH points to a site-packages dir for Python 2.x but you are running Python 3.x!
     PYTHONPATH is currently: ":/usr/local/lib/python2.7/site-packages"
     You should 'unset PYTHONPATH' to fix this.

¿Cómo utilizar los paquetes de sitio sin el truco PYTHONPATH para que tanto pip como pip3 sean utilizables y tanto Python 2 como Python 3 puedan importar paquetes de sitios?

    
pregunta Frozen Flame 10.12.2014 - 11:42

2 respuestas

5

Deberías considerar instalar pyenv para esto.

  

pyenv te permite cambiar fácilmente entre varias versiones de Python. Es simple, discreto y sigue la tradición de UNIX de herramientas de un solo propósito que hacen una cosa bien.

Para instalar, simplemente escribe:

$ brew install pyenv

Agregue esto a su .bash_profile :

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

Una vez instalado, use pyenv para instalar las versiones de Python que necesita:

$ pyenv install -l/--list --> List all available versions
$ pyenv install 2.7.6
$ pyenv install 3.3.3

Ejecute este comando después de instalar una versión de python:

$ pyenv rehash

Puede especificar varias versiones a través de PYENV_VERSION a la vez. Digamos que si tiene dos versiones de 2.7.6 y 3.3.3. Si prefieres 2.7.6 sobre 3.3.3,

$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (set by PYENV_VERSION environment variable)
* 3.3.3 (set by PYENV_VERSION environment variable)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3
    
respondido por el jherran 10.12.2014 - 16:17
4

Para usar tanto Python 2 como Python 3 en OS X, se debe evitar usar el python preinstalado en Mac.

  1. Instala python con homebrew :

    brew install python
    brew install python3
    
  2. Editar /etc/paths :

    /usr/local/bin
    /usr/bin
    /bin
    /usr/local/sbin
    /usr/sbin
    /sbin
    

Asegúrate de que /usr/local/bin aparezca antes de /usr/bin . El primero es utilizado por homebrew y el último es donde vive el ejecutable de python preinstalado de Mac. Muestra tu PATH para una doble verificación:

    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/X11/bin

Ahora puedo instalar paquetes con pip2 y pip3 para 2 versiones de Python por separado.

    
respondido por el Frozen Flame 20.09.2015 - 08:46

Lea otras preguntas en las etiquetas