Mein wesentliches Problem ist, dass ich nicht --no-site-packages
zu "arbeiten" kann.Virtualenv, No-Site-Pakete, sys.path
Ich habe eine Reihe von Posts auf SO gelesen, einschließlich this post. Ich bin ein großer Ubuntu-Noob und nicht viel besser, wenn es darum geht, wie Python mit dem Betriebssystem interagiert.
Andere Beiträge vorgeschlagen, dass printenv
würde PYTHONPATH angezeigt Wenn ich in meinem virtualenv bin, printenv
nicht zur Liste erscheint „PYTHONPATH“, aber es ist durchaus möglich, dass das, was ich für eine bestimmte dir
ist suchen sollte, dass ich nicht bewusst statt der Großbuchstaben.
Was ich jedoch festgestellt habe, ist, dass, wenn ich die Python-Shell innerhalb der Virtualenv ausführen, alle meine globalen Pakete aufgelistet sind.
Ich bin mir nicht sicher, ob dies ein Problem mit virtualenv
, .bashrc
, Ubuntu
oder my brain
ist. Jede Hilfe würde sehr geschätzt werden.
Wenn es eine Art, kenntnisreiche Seele gibt, die bereit ist, mir in einer Art Hin-und-her-Prozess zu helfen, wäre ich sehr dankbar. Ich habe keine meiner Ausgaben aufgelistet, weil ich ehrlich gesagt abgesehen von den oben genannten Punkten nicht ganz sicher bin, wo ich anfangen soll.
Bearbeiten als Reaktion auf Kommentare; UTC: 7.41 19 Nov 2015
Starten der Umgebung:
[email protected]:~/Dropbox/$$ P/...$ virtualenv --no-site-packages venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
die Umwelt gelangen:
[email protected]:~/Dropbox/$$ P/...$ source venv/bin/activate
(venv)[email protected]:~/Dropbox/$$ P/...$
Systempakete:
(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']
>>>
Sie können deutlich sehen, dass Site-Pakete in sys.path
enthalten ist, die super nervig ist.
Python3 scheint etwas besser, nicht, dass ich weiß, wie pip freeze
mit, es zu benutzen (oder auch wenn ich kann):
(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']
>>>
Weiter bearbeiten. Mein mind is bottled weiter. UTC 08:00 19 Nov 2015
Weil ich ein Verschwörungstheoretiker bin, habe ich versucht, außerhalb von Dropbox ein Vent zu erstellen.
[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']
>>>
Was ... das ... heck ...? Ich meine, das ist eine Art Fortschritt? Vielleicht gibt es etwas mit meinen Dateinamen (\ $ \ $ \ P /) zu tun, die Probleme verursachen? Von dem, was ich gelesen habe, solange ich sudo rm -rf venv
es keinen Unterschied machen, dass ich virtualenv
s im selben Verzeichnis zuvor erstellt und gelöscht habe. Ist das richtig?
Argh.
Können Sie bitte die Umgebungen eingeben, führen Sie Python aus und führen Sie 'import sys; print (sys.path) 'in Python; Fügen Sie dann alle Eingaben und Ausgaben, die Sie erhalten haben, zu Ihrem Beitrag hinzu, indem Sie ihn bearbeiten? –
Es ist meist verwandt, wie Sie für Ihre virtualenv aktivieren. Bitte posten Sie vollständige Befehle und deren Ausgabe, wie Sie sie ausführen. –
Danke Leute! Ich kann dir nicht sagen, wie gut es ist, jemanden zu haben, der mir bei diesem super nervigen Problem hilft. Ich habe den Beitrag nach deinen Kommentaren bearbeitet. Danke für Ihre Hilfe! – NotAnAmbiTurner