Installieren von Pip-3.2 auf Cygwin


84

Ich habe Python 3 auf Cygwin installiert. Ich kann Python 3-Pakete jedoch nicht über installieren pip. Gibt es eine Möglichkeit, dies zu tun?


1
warum nicht? Haben Sie Pip für diese Python-Installation installiert? Welchen Fehler bekommst du?
— Mata

Pip ist installiert, installiert jedoch die Python 2-Version des Pakets. Zum Beispiel wird mein Skript, für das Pyyaml ​​erforderlich ist ImportError: No module named yaml, auch nach erfolgreicher Ausführung zurückgegeben pip install pyyaml.
— David Y. Stephenson

1
Dann pipläuft das Skript nicht mit der richtigen Python-Version. Versuchen Sie es /path/to/python3 -m pip install ...stattdessen. Überprüfen Sie auch den Shebang des Pip-Skripts.
— Mata

@mata FYI, Python 2 ist ebenfalls installiert. usr/bin/python3 -m pip install pyyamlkehrt zurück /usr/bin/python3: No module named pip. So meine ursprüngliche Frage; Wie installiert man Pip-3 auf Cygwin?
— David Y. Stephenson

1
python3 -m ensurepipund python2 -m ensurepip. Schauen Sie zu python.org/dev/peps/pep-0453
— gavenkoa

Antworten:


128

1) Stellen Sie bei der Installation von cygwin sicher, dass Sie die Python / Python-Setuptools aus der Liste installieren. Dadurch wird das Paket "easy_install" installiert.

2) Geben Sie den folgenden Befehl ein:

easy_install-a.b pip   

Sie müssen durch a.bIhre Python-Version ersetzen, die 2.7 oder 3.4 oder was auch immer sein kann.


4
Diese Antwort hat bei mir sehr gut funktioniert. Ich musste ein paar zusätzliche Schritte unternehmen, weil ich an einer Universität arbeite: Zuerst navigierte ich zu meinem Installationspfad (c: / cygwin64 / bin /). Dann hatte mir die automatische Vervollständigung geholfen, die leicht zu installierende einfache Installationsdatei zu finden: easy_install 2.7.9
— Protomancer

6
Ich habe dies getan, um in einem Zustand ohne Eier zu enden:easy_install-2.7 pip && pip install 'pip<8' && pip install pip --upgrade
— Anthony Sottile

6
Verwenden Sie für python3 die Pakete python3 und python3-setuptools . Es ist offensichtlich, aber man kann Python 3- Setuptools vergessen
— Simon

2
Und vergessen Sie nicht die Version (dh -2.7). Ich hatte eine andere Python-Distribution auf meinem Computer, und 'easy_install' hat diese anstelle von Cygwins aufgerufen.
— 28.

44

Wenn Sie mehr als eine Python-Installation haben, müssen Sie pip (und wahrscheinlich auch setuptools) für jede Installation separat installieren.
Dazu können Sie es zuerst ez_setup.pymit python3 herunterladen und ausführen:

/usr/bin/python3 ez_setup.py

Das sollte setuptools installieren und auch ein easy_installSkript für Ihre Python-Version erstellen , z. B. /usr/bin/easy_install-3.2das Sie zum Installieren von pip verwenden können:

/usr/bin/easy_install-3.2 pip

Dadurch wird pip in Ihrem Python3-Site-Paketverzeichnis installiert und erneut ein Skript erstellt /usr/bin/pip-3.2, mit dem Sie Pakete für diese Python-Version installieren können.

Alternativ können Sie die Installationsanweisungen hier und hier befolgen .


2
Ausgezeichnet! Nach dieser Antwort konnte ich mein Cygwin-Problem lösen.

Ich erhalte den Fehler "OSError: [Errno 13] Berechtigung verweigert" "während der Installation in Cygwin. Ich habe Administratorrechte auf diesem Computer.
— Arulraj.net

2
Link zu ez_setup.py ist tot
— spartygw

29

Ich denke, die alternativen Installationsanweisungen, die durch mata verknüpft sind, sind am einfachsten:

Laden Sie get-pip.py sicher herunter, um pip zu installieren .

Führen Sie dann Folgendes aus (für das möglicherweise Administratorzugriff erforderlich ist):

python get-pip.py

2
fwiw, dies scheint stillschweigend nichts unter Cygwin zu tun - nicht sicher warum :(
— Anthony Sottile

2
Funktioniert unter Babun unter Windows 10 x64
— xizdaqrian

14

Da OP speziell über Python3 spricht, müssen wir dies für den Fall angeben, dass der Benutzer Python2 bereits installiert hat, was sehr wahrscheinlich ist.

# If you don't have Python3 already, use apt-cyg:
apt-cyg install python3

# First update pip, pip2 
pip2 install --upgrade pip 

# Install pip3:
python3 -m ensurepip

# Finally update pip3:
pip3 install --upgrade pip

$ pip3 -V
pip 9.0.1 from /usr/lib/python3.4/site-packages (python 3.4)

Übrigens. Es gibt mehrere Gabeln von Apt-Cyg , aber die am besten gepflegte ist die von Kou1okada , Sie werden es lieben.


EDIT: 2018-11-15

Da ich anfing, virtualenv nicht zu verwenden , musste ich kürzlich meine Cygwin Python3-Installation aktualisieren und erkannte dabei einige Dinge, die offensichtlich sein sollten, aber leicht vergessen werden können.

  • Installieren Sie bei der Installation und Verwendung von Python3 unter Cygwin (und wahrscheinlich unter den meisten anderen * nix-Distributionen) nur den grundlegenden Python3-Interpreter als Cygwin-Paket. Verwenden Sie von da an nur noch den Pip- Installer.

  • Nachdem Sie Python3-Pakete mit pip installiert oder aktualisiert haben, beschwert sich Ihr Cygwin-Paketmanager, dass es sich um Ihr Paket handelt "Incomplete". Dies liegt daran, dass pip die Dateien in diesem Paket ersetzt / aktualisiert hat. Überprüfen Sie mit : cygcheck.exe -c |grep Incomplete.
    Installieren Sie diese Pakete nicht erneut mit Cygwin.

# cygcheck.exe -c |grep Incomplete
python3-setuptools      34.3.2-1         Incomplete

Also habe ich alle Python3-bezogenen Cygwin-Pakete außer Python3 selbst gelöscht. Dann habe ich den einzigen benötigten neu installiert : python3-setuptools.

# apt-cyg remove python3-setuptools
apt-cyg install python3-setuptools

# Fix pip3 symlink (or just pip if you don't have python2)
ln -s /usr/bin/pip3.6 /usr/bin/pip3

# That also installs the Cygwin packages:  
# python3-appdirs, python3-packaging, python3-pyparsing, python3-six

# Now, update setuptools with pip:
pip3 install -U --force-reinstall --only-binary=:all: --no-clean --no-cache-dir setuptools

# pip list |grep setuptools
setuptools          40.5.0

Das hätte auch alle Setuptools- Abhängigkeiten mit den neuesten Updates neu installieren müssen .

Tun Sie sich von nun an einen Gefallen und nutzen Sie eine virtuelle Umgebung.


ist ensurepipwegen cygwin notwendig? Normalerweise pipist an Bord, siehe hier
— Timo

@ Timo, für mich war es, aus welchem ​​Grund auch immer ich Pip3 für Python3
— Lepidopteron

Solange Sie pipinstalliert haben, können Sie immer einen Symlink erstellen/usr/bin/ , aber vielleicht ist es eleganter, den nativen Enparpip- Fix zu verwenden. IDK, wenn ich bereits eine alte Version hatte oder zusammen mit installiert wurde setuptools, aber das ensurepipPaket nicht installiert ist.
— not2qubit

1
+1 für die Empfehlung von kou1okadas Apt-Cyg-Gabel, die mit Abstand am besten ausgestattet und mit Abstand am besten gewartet wird und seit Jahren verwendet wird.
— Prometheus

2

Unter Windows können Sie pip verwenden, um Pakete zu installieren. Wenn Sie unter cygwin mehrere Python-Installationen haben, geben Sie den vollständigen Python-Pfad an, z. B. Python 2

/usr/bin/python2.7 -m pip install pyyaml

Python 3

/usr/bin/python3.6 -m pip install pyyaml

Falls Sie pip nicht installiert haben, installieren Sie es mit dem folgenden Befehl

/usr/bin/python2.7 -m ensurepip 

oder

/usr/bin/python3.6 -m ensurepip

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.