Pip-Installationszugriff unter Windows verweigert

110

Ich versuche, pip install mitmproxyunter Windows zu laufen , aber mir wird der Zugriff auch mit cmdund unter PowerShellVerwendung der Run as AdministratorOption immer wieder verweigert .

WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd'

Wie kann ich das zum Laufen bringen?

Bruno Klein
quelle
Es gibt auch einen guten älteren Beitrag: Gibt es eine Idee, wie man Python PIP auf einer Windows-Box aktualisiert?
Strpeter

Antworten:

139

Versuchen Sie im Fall von Windows in cmd, die Pip-Installation mit der ausführbaren Python-Datei auszuführen

z.B

python -m pip install mitmproxy

Dies sollte funktionieren, zumindest bei anderen Paketinstallationen.

Nayak
quelle
6
Aus irgendeinem Grund waren die temporären Dateiberechtigungen für meinen Benutzer nicht vollständig kontrolliert. Diesen Weg zu gehen python -mmachte den Unterschied.
Jason Dunkelberger
2
Wissen wir, warum das funktioniert? Und nicht durch Powershell?
Big Money
66

Ändern Sie die Sicherheitsberechtigungen Ihres Python-Installationsordners wie folgt:

  1. Öffnen Sie eine Python-Shell
  2. Gehen Sie zum Task-Manager
  3. Finden Sie den Python-Prozess
  4. Klicken Sie mit der rechten Maustaste und öffnen Sie den Speicherort
  5. Der Ordner wird im Explorer geöffnet. Gehen Sie in ein Verzeichnis
  6. Klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie Eigenschaften aus
  7. Klicken Sie auf die Registerkarte "Sicherheit" und klicken Sie auf "Bearbeiten".
  8. Fügen Sie alle hinzu und geben Sie ihnen die Erlaubnis zum Lesen und Schreiben.
  9. Speichern Sie Ihre Änderungen

Wenn Sie cmdals Administrator öffnen ; Dann können Sie Folgendes tun:

Wenn Python in Ihrem festgelegt ist PATH, dann:

python -m pip install mitmproxy
Richard Kenneth Niescior
quelle
3
Ich musste dies sowohl für ALLE ANWENDUNGSPAKETE als auch für Benutzer tun, aber dann funktionierte es.
Chronik
1
Hat perfekt funktioniert. Danke vielmals!
Sudipto Shome
3
Alternative Route mit ähnlichem Aufwand: 1) Installieren Sie Linux 2)sudo pip install foo
Nearoo
1
@Chronicle Haben Sie wirklich allen erlaubt, in Benutzerprofilen zu lesen und zu schreiben? Wenn ja, ist es eine ziemlich schlechte Idee (sehr schlecht).
David Ferenczy Rogožan
@Richard Wie kann das Hinzufügen der Berechtigungen zum Lesen und Schreiben in Pythons Verzeichnisse das Problem mit der im Benutzerverzeichnis verweigerten Berechtigung lösen temp? Ich würde sagen, es ist die Art und Weise der Ausführung pip( python -m pipanstatt pipwie von @nayak vorgeschlagen), was hilft. Diese 9 Schritte zuvor sind höchstwahrscheinlich irrelevant (da es wirklich keinen Sinn ergibt).
David Ferenczy Rogožan
27

Persönlich stellte ich fest, dass durch das Öffnen cmdals Administrator und das Ausführen von run python -m pip install mitproxy mein Problem zu beheben scheint.

Hinweis: - Ich habe Python über installiertchocolatey

Bhoom Suktitipat
quelle
Du hast meinen Tag gerettet, Bruder!
Maulik Dodia
1
Wenn Sie cmdals Administrator ausgeführt werden, sollten Sie in der Lage sein, normal zu arbeiten pip install [package]. Hat sowieso für mich gearbeitet.
EliSquared
14

Eine zusätzliche Sache, die in früheren Antworten nicht behandelt wurde und die häufig Probleme unter Windows verursacht und mich daran gehindert hat, ein Paket zu installieren, obwohl ich als Administrator ausgeführt wurde, ist, dass Sie denselben Fehler erhalten, dem die Berechtigung verweigert wurde , wenn es ein anderes Programm gibt, das einige der von Ihnen verwendeten Dateien verwendet (oder pip install) versuchen zuzugreifen. Dies ist eine wirklich dumme "Funktion" von Windows, die oft auftaucht, z. B. wenn versucht wird, einige Dateien zu verschieben.

Außerdem habe ich keine Ahnung, wie ich herausfinden soll, welches Programm eine bestimmte Datei sperrt. Daher ist es am einfachsten, die Installation neu zu starten und durchzuführen, bevor Sie etwas starten, insbesondere bevor Sie beispielsweise Spyder oder eine andere Python-basierte Software ausführen. Sie können auch versuchen, alle Programme zu schließen, aber es kann schwierig sein zu wissen, welches tatsächlich eine Datei enthält. Für ein Verzeichnis reicht es beispielsweise aus, wenn in diesem Verzeichnis ein Explorer-Fenster geöffnet ist.

Robert
quelle
Ja, hat den Trick für mich gemacht! Ich habe gleichzeitig in Git Bash, Pycharm Terminal und Windows Terminal gearbeitet, nachdem ich zwei von drei geschlossen hatte, funktionierte alles.
Cappo
10

Öffnen Sie cmd mit "Als Administrator ausführen" und führen Sie den Befehl aus pip install mitmproxy. Es wird es installieren.

Sharan
quelle
10

Da ich über anaconda Prompt installiere. In meinem Fall hat es nicht einmal funktioniert. python -m pip installDann füge ich dies hinzu

python -m pip install <package_name> --user

Für mich geht das.

Mögen: python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user

Beachten Sie, dass kein doppeltes Anführungszeichen erforderlich ist. Sie können den Paketnamen angeben, den Sie installieren möchten.

In einem anderen Fall sollten Sie versuchen, die Eingabeaufforderung als Als Administrator ausführen auszuführen, und dann die Pip-Installation ausführen . Es sollte auch funktionieren.

susan097
quelle
Dies funktionierte für mich, um Python-Pakete (in diesem Fall Sympy) in der Schule zu installieren. Vielen Dank!
JDG
Beste Lösung, wenn Sie keine Administratorrechte für Ihr System haben.
Ajay Sharma
5

Versuchen Sie, die Berechtigung zur vollständigen Kontrolle des Python-Ordners zu erteilen.

Suchen Sie das Python-Stammverzeichnis -> Rechtsklick -> Eigenschaften -> Sicherheit -> Bearbeiten -> Geben Sie den Benutzern die volle Kontrolle -> Ja und warten Sie, bis der Vorgang abgeschlossen ist.

Für mich geht das.

Pyjarnas
quelle
3

Versuchen Sie, den Ordner c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6umanuell zu löschen, und wiederholen Sie dann den Befehl pip.

Felix
quelle
Danke dafür. Einige temporäre Pip-Dateien blockierten die Installation.
Eok
3

Öffnen der Eingabeaufforderung Da der Administrator gerade für mich gearbeitet hat, ohne die ausführbare Python-Datei zu verwenden. Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung und wählen Sie "Als Administrator ausführen". Führen Sie dann den folgenden Befehl aus.

pip install Django
Charasala
quelle
Das gleiche gilt für mich - es musste nur cmd als Administrator ausgeführt werden.
Charidimos
3

Die Ursache in meinem Fall war, dass ein Jupyter-Notizbuch geöffnet war, das die entsprechende Bibliothek importierte. Die Hauptursache scheint ein Windows-Fehler zu sein, da die Datei geöffnet / verwendet wird (siehe auch @ Roberts Antwort und die Empfehlung zum Neustart).

Eine weitere zu überprüfende Sache ist, dass keine anderen Python-Prozesse ausgeführt werden.

Für mich hat das Herunterfahren des Notebook-Servers das Problem gelöst.

etov
quelle
2
  1. Öffnen Sie die Eingabeaufforderung als Administrator.

  2. Verwenden Sie diesen Befehl, um ein Python-Paket zu installieren, einschließlich --user.

pip install --ignore-installed --upgrade --user <packagename>

Amar Kumar
quelle
1

Wenn alles andere fehlschlägt, beenden Sie Ihre IDE. Ich hatte viele Fälle, in denen PyCharm dies verursachte. Sobald ich PyCharm beendet hatte, konnte ich meine Pakete endlich über die Befehlszeile installieren. Alternativ können Sie auch über PyCharm selbst unter Einstellungen -> Projekt: xxx -> Projektinterpreter -> installieren +.

kichik
quelle
1
Ich hatte das gleiche Problem, bis ich Spyder
atm
0

Führen Sie cmd.exe als Administrator aus und geben Sie Folgendes ein:

python -m pip install
mdev
quelle
0

Ich bin auf ein ähnliches Problem gestoßen. Aber der Fehlerbericht handelt von

[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)

Zuerst habe ich dieses https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error#pid_28035 ausprobiert , aber es scheint, dass es meine Probleme nicht lösen konnte und das immer noch wiederholen kann gleicher Fehler.

Und zweitens, wenn Sie an einem Geschäftscomputer arbeiten, kann im Allgemeinen ein Webinhaltsfilter vorhanden sein (aber ich kann über den Browser direkt auf https://pypi.python.org zugreifen ). Und lösen Sie dieses Problem, indem Sie einen Proxyserver hinzufügen.

Öffnen Sie für Windows den Internet propertiesIE oder Chrome oder was auch immer, legen Sie dann eine gültige Proxy-Adresse und einen gültigen Port fest und lösen Sie auf diese Weise meine Probleme

Oder pip --proxy [proxy-address]:port install mitmproxyfügen Sie einfach die Option hinzu. Sie müssen diese Option jedoch immer hinzufügen, wenn Sie mit pypi installieren

Die beiden oben genannten Lösungen sind eine Alternative für Ihre Anforderungen.

K. Andy Wang
quelle
0

In meinem Fall hat es nicht einmal funktioniert python -m pip install

Was ich getan habe, ist von einem cmd als Administrator:

PsExec.exe -i -s -d cmd.exe

Um dann ein SYSTEM cmd zu erzeugen pip install mitmproxy

;)

aDoN
quelle
-1

Schließen Sie einfach alle geöffneten Python-Dateien. Und versuchen Sie, als Administrator zu laufen. Es wird klappen.

z.B

pip install numpy
Faizan Amin
quelle