L'utilisation de pip3
pour installer un package dans a virtualenv
entraîne l' installation du package dans le dossier global site-packages au lieu de celui du dossier virtualenv. Voici comment j'ai configuré Python3 et virtualenv sur OS X Mavericks (10.9.1):
J'ai installé Python3 en utilisant Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Changement de la $PATH
variable dans .bash_profile
; a ajouté la ligne suivante:
export PATH=/usr/local/bin:$PATH
L'exécution which python3
revient /usr/local/bin/python3
(après le redémarrage du shell).
Remarque: which python3
renvoie toujours / usr/bin/python
cependant.
Installé en virtualenv
utilisant pip3
:
pip3 install virtualenv
Ensuite, créez un nouveau virtualenv
et activez-le:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Remarque: si je ne spécifie pas -p python3, pip sera absent du dossier bin de virtualenv.
L'exécution which pip
et les which pip3
deux renvoient le dossier virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Maintenant, quand j'essaye d'installer par exemple Markdown en utilisant pip dans le virtualenv activé, pip installera dans le dossier global site-packages au lieu du dossier site-packages du virtualenv.
pip install markdown
pip list
Retours courants :
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Contenu de /Users/kristof/VirtualEnvs/testpy3/lib/python3.3/site-packages
:
__pycache__/
_markerlib/
easy_install.py
pip/
pip-1.5.dist-info/
pkg_resources.py
setuptools/
setuptools-2.0.2.dist-info/
Contenu de /usr/local/lib/python3.3/site-packages
:
Markdown-2.3.1-py3.3.egg-info/
__pycache__/
easy-install.pth
markdown/
pip-1.4.1-py3.3.egg/
setuptools-2.0.1-py3.3.egg
setuptools.pth
virtualenv-1.11-py3.3.egg-info/
virtualenv.py
virtualenv_support/
Comme vous pouvez le voir, le dossier global site-packages contient Markdown, pas le dossier virtualenv.
Remarque: j'ai déjà installé Python2 et Python3 sur une machine virtuelle différente (j'ai suivi ces instructions) et j'ai eu le même problème avec Python3; l'installation de packages dans un virtualenv basé sur Python2 fonctionnait parfaitement.
Tous les conseils, astuces,… seraient très appréciés.
pip3
?). Ce n'est peut-être pas mauvais en soi, mais vous devez savoir si c'est le cas.