Użycie pip3do zainstalowania pakietu w a virtualenvpowoduje, że pakiet zostanie zainstalowany w globalnym folderze pakietów lokacji zamiast w folderze virtualenv. Oto jak skonfigurowałem Python3 i virtualenv na OS X Mavericks (10.9.1):
Zainstalowałem Python3 za pomocą Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Zmieniono $PATHzmienną w .bash_profile; dodał następujący wiersz:
export PATH=/usr/local/bin:$PATH
Uruchamianie which python3zwraca /usr/local/bin/python3(po ponownym uruchomieniu powłoki).
Uwaga: which python3nadal zwraca / usr/bin/pythonchociaż.
Zainstalowano virtualenvprzy użyciu pip3:
pip3 install virtualenv
Następnie utwórz nowy virtualenvi aktywuj go:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Uwaga: jeśli nie określę -p python3, pip będzie brakować w folderze bin w virtualenv.
Uruchomione which pipi which pip3oba zwracają folder virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Teraz, kiedy próbuję zainstalować np. Markdown przy użyciu pip w aktywowanym virtualenv, pip zainstaluje się w globalnym folderze pakietów witryn zamiast w folderze pakietów witryn w virtualenv.
pip install markdown
pip listZwroty biegowe :
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Zawartość /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/
Zawartość /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/
Jak widać, globalny folder pakietów witryn zawiera Markdown, a folder virtualenv nie.
Uwaga: miałem wcześniej zainstalowane Python2 i Python3 na innej maszynie wirtualnej (postępowałem zgodnie z tymi instrukcjami) i miałem ten sam problem z Pythonem3; instalacja pakietów w virtualenv opartym na Pythonie2 działała jednak bez zarzutu.
Wszelkie wskazówki, podpowiedzi… będą bardzo mile widziane.
pip3?). Samo w sobie może nie być złe, ale powinieneś być świadomy, jeśli tak jest.