6 votos

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

He instalado brew y luego

brew install python
brew install python3

Instalar flask con pip

pip install flask

Prueba con

python -c 'import flask'

Pero tengo la excepción

ImportError: No module named flask

Fijar y exportar PYTHONPATH

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

Hasta aquí todo bien. Pero cuando intenté instalar un paquete con pip3 para Python 3, tengo 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 sitios sin el PYTHONPATH truco para que ambos pip y pip3 y tanto Python 2 como Python 3 pueden importar paquetes de sitios?

0 votos

No estoy muy familiarizado con el brew pero si escribes python (anything) en el prompt del sistema yo esperaría que se ejecutara el Python incorporado en el sistema - ¿es la misma instalación de Python en la que has instalado el módulo flask?

5voto

jherran Puntos 6511

Debería considerar la posibilidad de instalar pyenv por esto.

pyenv le 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 instalarlo, sólo tienes que escribir:

$ brew install pyenv

Añade esto a tu .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, utilice 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 usted tiene dos versiones de 2.7.6 y 3.3.3. Si prefieres la 2.7.6 sobre la 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

0 votos

He instalado pyenv . ¿Podría dar algunos ejemplos de cómo utilizarlo para resolver mi problema?

0 votos

Actualice mi respuesta.

1 votos

Mejor usar virtualenv que ahora es parte de Python

4voto

Frozen Flame Puntos 166

Para utilizar ambos Python 2 y Python 3 en OS X, se debe evitar el uso del Mac preinstalado Python .

  1. Instalar 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úrese de que /usr/local/bin viene antes que /usr/bin . El primero es utilizado por homebrew y este último es el que tiene preinstalado el Mac Python vidas ejecutables. Muestre su PATH para una doble comprobació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.

0 votos

Mi /etc/paths se parece a lo que describes. Su respuesta no me sirvió.

0 votos

@n1000 echo $PATH; echo $PYTHONPATH . ¿Qué obtienes?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X