6 votes

Installer et importer les modules complémentaires du site pour Python 2 et 3 sur Mac

J'ai installé brew et ensuite

brew install python
brew install python3

Installer flask avec pip

pip install flask

Essayer

python -c 'import flask'

Mais j'ai obtenu une exception

ImportError: No module named flask

Définir et exporter PYTHONPATH

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

Jusqu'ici tout va bien. Mais quand j'ai essayé d'installer un package avec pip3 pour Python 3, j'ai reçu un message d'erreur

Votre PYTHONPATH pointe vers un répertoire de site-packages pour Python 2.x mais vous exécutez Python 3.x !
     PYTHONPATH est actuellement: ":/usr/local/lib/python2.7/site-packages"
     Vous devriez `unset PYTHONPATH` pour corriger cela.

Comment utiliser les site-packages sans le tour de magie de PYTHONPATH pour rendre à la fois pip et pip3 utilisables et permettre à la fois à Python 2 et Python 3 d'importer des site-packages ?

5voto

jherran Points 12554

Vous devriez envisager d'installer pyenv pour cela.

pyenv vous permet de passer facilement entre plusieurs versions de Python. C'est simple, discret, et suit la tradition UNIX des outils à usage unique qui font bien une seule chose.

Pour installer, tapez simplement :

$ brew install pyenv

Ajoutez ceci à votre .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

Une fois installé, utilisez pyenv pour installer les versions de Python dont vous avez besoin :

$ pyenv install -l/--list --> Liste toutes les versions disponibles
$ pyenv install 2.7.6
$ pyenv install 3.3.3

Exécutez cette commande après avoir installé une version de Python :

$ pyenv rehash

Vous pouvez spécifier plusieurs versions via PYENV_VERSION à la fois. Disons que vous avez deux versions 2.7.6 et 3.3.3. Si vous préférez 2.7.6 à 3.3.3,

$ pyenv shell 2.7.6 3.3.3
$ pyenv versions
  system
* 2.7.6 (défini par la variable d'environnement PYENV_VERSION)
* 3.3.3 (défini par la variable d'environnement PYENV_VERSION)
$ python --version
Python 2.7.6
$ python2.7 --version
Python 2.7.6
$ python3.3 --version
Python 3.3.3

4voto

Frozen Flame Points 250

Pour utiliser à la fois Python 2 et Python 3 sur OS X, il faut éviter d'utiliser le python pré-installé sur Mac.

  1. Installer python avec homebrew:

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

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

S'assurer que /usr/local/bin vient avant /usr/bin. Le premier est utilisé par homebrew tandis que le second est l'emplacement de l'exécutable python pré-installé sur Mac. Affichez votre PATH pour une double vérification :

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

Maintenant je peux installer des packages avec pip2 et pip3 pour 2 versions de Python séparément.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X