Використання pip3
для встановлення пакету в a virtualenv
призводить до того, що пакет встановлюватиметься в глобальну папку site-пакети, а не в папку virtualenv. Ось як я налаштував Python3 та virtualenv на OS X Mavericks (10.9.1):
Я встановив Python3 за допомогою Homebrew:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Змінено $PATH
змінну в .bash_profile
; додано наступний рядок:
export PATH=/usr/local/bin:$PATH
Запуск which python3
повертається /usr/local/bin/python3
(після перезапуску оболонки).
Примітка: which python3
все одно повертається / usr/bin/python
хоча.
Встановлено virtualenv
за допомогою pip3
:
pip3 install virtualenv
Далі створіть новий virtualenv
і активуйте його:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Примітка: якщо я не вкажу -p python3, pip буде відсутній у папці bin у virtualenv.
Запуск which pip
і which pip3
повернення папки virtualenv:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Тепер, коли я намагаюся встановити, наприклад, Markdown за допомогою pip в активованому virtualenv, pip буде встановлюватися в глобальній папці site-пакети замість папки site-пакети virtualenv.
pip install markdown
Запуск pip list
повертається:
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Зміст /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/
Зміст /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/
Як бачите, папка глобальних пакетів сайтів містить Markdown, а папка virtualenv - ні.
Примітка: Я раніше встановлював Python2 та Python3 на іншій віртуальній машині (дотримуючись цих інструкцій) і мав ту саму проблему з Python3; Встановлення пакетів у Virtualenv на основі Python2 працювало бездоганно.
Будь-які поради, підказки… будуть дуже вдячні.
pip3
?). Це може бути не погано саме по собі, але ви повинні знати, якщо це так.