it-swarm.com.de

Wie aktualisiere ich pip selbst in meiner virtuellen Umgebung?

Ich kann Pip-verwaltete Pakete aktualisieren, aber wie aktualisiere ich Pip selbst? Laut pip --version habe ich derzeit Pip 1.1 in meiner virtualenv installiert und möchte auf die neueste Version aktualisieren. 

Was ist der Befehl dafür? Muss ich distribute verwenden oder gibt es einen nativen pip- oder virtualenv-Befehl? Ich habe pip update und pip update pip bereits ohne Erfolg ausprobiert.

416
zakdances

pip ist nur ein PyPI-Paket wie jedes andere; Sie können es verwenden, um sich auf dieselbe Weise wie jedes Paket zu aktualisieren:

pip install --upgrade pip

Unter Windows ist der empfohlene Befehl :

python -m pip install --upgrade pip
789
Cairnarvon

Die sicherere Methode ist, pip durch ein Python-Modul auszuführen:

python -m pip install -U pip

Unter Windows scheint es ein Problem mit Binärdateien zu geben, die versuchen, sich selbst zu ersetzen.

48

In meinem Fall war meine Pip-Version defekt, so dass das Update alleine nicht funktionieren würde.

Fix:

(inside virtualenv):easy_install -U pip
33
jmoz

Ich habe alle oben genannten Lösungen unter Debian Jessie ausprobiert. Sie funktionieren nicht, da sie nur die neueste Version des Debian-Paketmanagers verwenden, die 1.5.6 ist, was Version 6.0.x entspricht. Einige Pakete, die pip als Voraussetzungen verwenden, funktionieren nicht als Ergebnis, z. B. spaCy (für dessen korrekte Funktion die Option --no-cache-dir erforderlich ist). 

Der beste Weg, um diese Probleme zu lösen, ist die Ausführung von get-pip.py mit wget, von der Website oder mit curl wie folgt auszuführen: 

 wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
 python ./get-pip.py
 python3 ./get-pip.py

Dadurch wird die aktuelle Version installiert, die zum Zeitpunkt des Schreibens dieser Lösung 9.0.1 ist, was weit über das von Debian hinausgeht.

 $ pip --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
 $ pip3 --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)
9
Eamonn Kenny

In meinem Fall funktionierte dies von der Terminal-Befehlszeile in Debian Stable

python3 -m pip install --upgrade pip
1
Prabhakaran KC

Öffnen Sie die Eingabeaufforderung mit Administratorberechtigungen und wiederholen Sie den Befehl:

python -m pip install --upgrade pip
1
MRamzan

Damit dies für mich funktioniert, musste ich im Python-Verzeichnis mit dem Python-Befehl Prompt (unter WIN10 von VS CODE) einen Drilldown durchführen. In meinem Fall war es in meinem Verzeichnis "AppData\Local\Programs\Python\python35-32". Ab da lief ich den Befehl ...

python -m pip install --upgrade pip

Das hat funktioniert und ich bin gut zu gehen.

1
Sean

Sehr einfach. Laden Sie einfach pip von https://bootstrap.pypa.io/get-pip.py herunter. Speichern Sie die Datei in einem Ordner oder Dekstop. Ich habe die Datei in meinem D-Laufwerk gespeichert. Navigieren Sie dann in Ihrer Eingabeaufforderung zu dem Ordner, in den Sie pip heruntergeladen haben. Dann dort eingeben

python -get-pip.py

Pip installation screenshot

0
Prasad K

Single Line Python-Programm
Der beste Weg, den ich gefunden habe, ist das Schreiben eines einzeiligen Programms, das das offizielle get-pip-Skript herunterlädt und ausführt. Siehe unten für den Code.

Die offiziellen Dokumente empfehlen die Verwendung von curl zum Herunterladen des get-pip-Skripts. Da ich jedoch an Windows arbeite und curl nicht installiert habe, ziehe ich es vor, Python selbst zu verwenden, um das Skript herunterzuladen und auszuführen. 

Hier ist das einzeilige Programm, das mit Python 3 über die Befehlszeile ausgeführt werden kann:

python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

Diese Zeile erhält das offizielle Skript "get-pip.py" gemäß Installationshinweise und führt das Skript mit dem Befehl "exec" aus. 

Für Python2 würden Sie "urllib.request" durch "urllib2" ersetzen:

python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

Vorsichtsmaßnahmen
Es ist erwähnenswert, dass das direkte Ausführen eines Python-Skripts an sich gefährlich ist. Aus diesem Grund empfehlen die offiziellen Anweisungen, das Skript herunterzuladen und vor der Ausführung zu überprüfen. 

Das heißt, viele Leute prüfen den Code nicht wirklich und führen ihn einfach aus. Dieses einzeilige Programm macht das einfacher.

0
FistOfFury

Ich war in einer ähnlichen Situation und wollte das urllib3-Paket aktualisieren. Was bei mir funktioniert hat war:

pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3
0
Avik Aggarwal

Ich hatte Python in C:\Python\Python36 installiert, also ging ich zur Windows-Eingabeaufforderung und gab "cd C:\Python\Python36" ein, um in das richtige Verzeichnis zu gelangen. Dann wurde "python -m install --upgrade pip" eingegeben gut!

0
Walt

Ich hatte ein ähnliches Problem bei einem Raspberry Pi.

Das Problem war, dass http SSL benötigt, und daher musste ich es zwingen, https zu verwenden, um diese Anforderung zu umgehen.

Sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple

oder 

Sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/
0
user391339

pip Version 10 hat ein Problem. Es wird sich als Fehler manifestieren:

[email protected]:~/mydir$ Sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

Die Lösung besteht darin, in dem Server zu sein, den Sie aktualisieren möchten, und dann auszuführen:

Sudo myvenv/bin/pip install --upgrade pip

anstatt nur

Sudo pip install --upgrade pip
0
Calaf

Wenn Sie venv verwenden, führt eine Aktualisierung der Pip-Installation zu einem Upgrade der System-Pip anstelle der Venv-Pip. Sie müssen auch die Pip-Bootstrapping-Pakete aktualisieren.

  python3 -m pip install --upgrade pip setuptools wheel
0
dre-hh

Das Aktualisieren von pip mit 'pip install --upgrade pip' funktioniert aufgrund des gefürchteten Zertifizierungsproblems nicht immer: Beim Bestätigen des SSL-Zertifikats ist ein Problem aufgetreten: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1-Warnung Protokollversion

Ich benutze gerne den Befehl eine Zeile für virtuelle Umgebungen:

curl https://bootstrap.pypa.io/get-pip.py | python -

Oder wenn Sie die Box breit installieren möchten, benötigen Sie sie 

curl https://bootstrap.pypa.io/get-pip.py | Sudo python -

sie können curl mit einem -s -Flag versehen, wenn Sie die Ausgabe in einem Automatisierungsskript stummschalten möchten.

0
rouble

Auf meinem Laptop mit Windows 7 können Sie die neueste Version von pip auf folgende Weise installieren:

python.exe -m pip install --upgrade pip
0
MiloshB