L'utilizzo di pip3
per installare un pacchetto in a virtualenv
causa l'installazione del pacchetto nella cartella globale dei pacchetti del sito anziché in quella nella cartella virtualenv. Ecco come ho configurato Python3 e virtualenv su OS X Mavericks (10.9.1):
Ho installato Python3 usando Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Modificata la $PATH
variabile in .bash_profile
; aggiunta la seguente riga:
export PATH=/usr/local/bin:$PATH
L'esecuzione di which python3
ritorni /usr/local/bin/python3
(dopo il riavvio della shell).
Nota: which python3
ritorna ancora / usr/bin/python
sebbene.
Installato virtualenv
utilizzando pip3
:
pip3 install virtualenv
Quindi, creane uno nuovo virtualenv
e attivalo:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Nota: se non specifichi -p python3, pip mancherà dalla cartella bin nel virtualenv.
In esecuzione which pip
ed which pip3
entrambi restituiscono la cartella virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Ora, quando provo a installare, ad esempio, Markdown usando pip nel virtualenv attivato, pip verrà installato nella cartella globale dei pacchetti del sito invece che nella cartella dei pacchetti del sito di virtualenv.
pip install markdown
pip list
Ritorni correnti :
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Contenuto di /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/
Contenuto di /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/
Come puoi vedere, la cartella globale dei pacchetti del sito contiene Markdown, la cartella virtualenv no.
Nota: avevo installato Python2 e Python3 su una VM diversa (ho seguito queste istruzioni) e ho avuto lo stesso problema con Python3; l'installazione di pacchetti in un virtualenv basato su Python2 ha funzionato senza problemi.
Eventuali suggerimenti, suggerimenti, ... sarebbero molto apprezzati.
pip3
?). Potrebbe non essere un male di per sé, ma dovresti essere consapevole se lo è.