2017-11-01 4 views
1

Wie bekomme ich meine virtuellen Umgebungen, um meine System-Upgrade-Pip zu verwenden?
Bevor ein virtualenv erstellt wird, zeigt pip Version 9.0.1, aber innerhalb der virtuellen Umgebung kehrt es zurück zu 8.1.1 und zwingt mich, alle meine virtualenv Pips zu aktualisieren.virtualenv verwenden aktualisierten System Standard-Pip

$ pip --version 
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5) 
$ python3 -m venv venv 
$ source venv/bin/activate 
(venv) $ pip --version 
pip 8.1.1 from /tmp/venv/lib/python3.5/site-packages (python 3.5) 
(venv) $ pip install --upgrade pip 
(venv) $ pip --version 
pip 9.0.1 from /tmp/venv/lib/python3.5/site-packages (python 3.5) 
+0

sollte ich einfach 'pip == 9.0.1' als erste Zeile meiner requirements.txt hinzufügen? – JDiMatteo

+0

Ich nehme an, Sie haben mehr als ein Python installiert? – georgexsh

+0

Was gibt 'pip3 --version' zurück, wenn außerhalb der virtuellen Umgebung aufgerufen wird? –

Antwort

2

Wenn Sie Ihre virtualenv mit dem Befehl erstellen

python3 -m venv venv 

Ihre aktuelle Python 3-Installation als Grundlage Ihrer virtualenv verwendet wird.

Führen Sie den Befehl

pip3 install --upgrade pip 

außerhalb Ihres virtualenv die Version von pip aktualisieren Sie dann eine neue virtualenv erstellen installiert haben.

+0

Sobald das virtuelle env aktiviert ist, sollte ich einfach 'python' und' pip' ohne die '3' Suffixe verwenden, richtig? – JDiMatteo

+1

Ja, in Ihrem venv/bin/Verzeichnis wurden Symlinks für 'python' und' python3' erstellt. –

+0

Diese Anleitung funktioniert für mich auf Ubuntu 14.04, aber nicht auf Ubuntu 16.04. Unter Ubuntu 16.04 zeigt 'pip3 --version' außerhalb des venv' pip 9.0.1 von /usr/local/lib/python3.5/dist-packages (python 3.5) '. Dann zeigt 'python3 -m venv venv'' pip 8.1.1 aus /tmp/venv/lib/python3.5/site-packages (python 3.5) ' – JDiMatteo

Verwandte Themen