Моя основная проблема заключается в том, что я не могу получить --no-site-packages
для «работы».Virtualenv, no-site-packages, sys.path
Я прочитал кучу сообщений на SO, включая this post. Я огромный Ubuntu noob, и не намного лучше, когда дело доходит до того, как python взаимодействует с os.
Другие сообщения предположили, что printenv
будет отображать PYTHONPATH Когда я в моем virtualenv, printenv
не появляется в список «PYTHONPATH», но это вполне возможно, что я должен искать это особенно dir
, что я не а не заглавные буквы.
Однако я заметил, что при запуске оболочки python в virtualenv перечислены все мои глобальные пакеты.
Я не уверен, что это проблема с virtualenv
, .bashrc
, Ubuntu
или my brain
. Любая помощь будет принята с благодарностью.
Если есть какая-то, знающая душа, которая готова помочь мне в каком-то обратном процессе, я была бы очень благодарна. Я не перечислял ни одного моего вывода, потому что, честно говоря, помимо вышеизложенного, я не совсем уверен, с чего начать.
Редактировать в ответ на комментарии; UTC: 7:41 19 ноября 2015
Запуск среды:
[email protected]:~/Dropbox/$$ P/...$ virtualenv --no-site-packages venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
Ввод среды:
[email protected]:~/Dropbox/$$ P/...$ source venv/bin/activate
(venv)[email protected]:~/Dropbox/$$ P/...$
Системные пакеты:
(venv)[email protected]:~/Dropbox/$$ P/...$ pip freeze
adium-theme-ubuntu==0.3.4
apt-xapian-index==0.46
beautifulsoup4==4.4.1
bleach==1.4.2
blinker==1.3
cffi==1.1.2
characteristic==14.3.0
chardet==2.3.0
colorama==0.3.3
command-not-found==0.3
....
virtualenv==13.1.2
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.1
wheel==0.26.0
whitenoise==1.0.6
xdiagnose==3.8.1
zope.interface==4.1.2
(venv)[email protected]:~/Dropbox/$$ P/...$
sys.path
:
(venv)[email protected]:~/Dropbox/$$ P/...$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/home/notanambiturner/.local/lib/python2.7/site-packages',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
>>>
Вы можете четко видеть, что сайт-пакеты включены в sys.path
, что очень раздражает.
Python3 кажется немного лучше, не то, что я знаю, как использовать pip freeze
с ним (или даже если я могу):
(venv)[email protected]:~/Dropbox/$$ P/...$ python3
Python 3.4.3+ (default, Oct 14 2015, 16:03:50)
[GCC 5.2.1 20151010] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload',
'/usr/local/lib/python3.4/dist-packages',
'/usr/lib/python3/dist-packages']
>>>
Следующая редактировать. Мой mind is bottled далее. UTC 08:00 19 ноября 2015 г.
Поскольку я теоретик заговора, я попытался создать вену вне Dropbox.
[email protected]:~$ source venv/bin/activate
(venv)[email protected]:~$ pip freeze
wheel==0.24.0
(venv)[email protected]:~$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['',
'/home/notanambiturner/venv/lib/python2.7',
'/home/notanambiturner/venv/lib/python2.7/plat-x86_64-linux-gnu',
'/home/notanambiturner/venv/lib/python2.7/lib-tk',
'/home/notanambiturner/venv/lib/python2.7/lib-old',
'/home/notanambiturner/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/home/notanambiturner/venv/local/lib/python2.7/site-packages',
'/home/notanambiturner/venv/lib/python2.7/site-packages']
>>>
Что ... ... heck ...? Я имею в виду, я полагаю, это какой-то прогресс? Может быть, что-то связано с моими именами файлов (\ $ \ $ \ P /), которые вызывают проблемы? Из того, что я прочитал, до тех пор, пока я sudo rm -rf venv
, не должно иметь никакого значения, что я создал и удалил virtualenv
s в том же каталоге ранее. Это правильно?
Argh.
Можете ли вы войти в среду, запустить python и запустить 'import sys; print (sys.path) 'внутри python; затем добавьте все входы и выходы, которые вы сделали/получили на свой пост, отредактировав его? –
В основном это связано с тем, как вы активируете свой виртуальный. Пожалуйста, напишите полные команды и их результаты, как вы их запускаете. –
Спасибо, ребята! Я не могу сказать вам, насколько хорошо он чувствует, что кто-то помогает мне с этой сверхнаходимой проблемой. Я отредактировал сообщение за ваши комментарии. Спасибо за вашу помощь! – NotAnAmbiTurner