Użycie pip3
do zainstalowania pakietu w a virtualenv
powoduje, ż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 $PATH
zmienną w .bash_profile
; dodał następujący wiersz:
export PATH=/usr/local/bin:$PATH
Uruchamianie which python3
zwraca /usr/local/bin/python3
(po ponownym uruchomieniu powłoki).
Uwaga: which python3
nadal zwraca / usr/bin/python
chociaż.
Zainstalowano virtualenv
przy użyciu pip3
:
pip3 install virtualenv
Następnie utwórz nowy virtualenv
i 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 pip
i which pip3
oba 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 list
Zwroty 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.