Ich erhalte die folgende Fehlermeldung, wenn ich PIP verwende, um entweder neue Pakete zu installieren oder Pip selbst auf die neueste Version zu aktualisieren. Ich verwende pip auf einem Windows 8.1-Computer mit Python 3.4.
Die Nachricht sagt mir, dass ich keine Administratorberechtigung für die Dateien habe (mein Konto ist ein Administratorkonto).
Ich würde mich über Gedanken darüber freuen, wie dies behoben werden kann, da dies die Installation von Paketen und den Fortschritt mit Python behindert.
Fehlermeldung:
Installing collected packages: pip
Found existing installation: pip 6.0.8
Uninstalling pip-6.0.8:
Removing file or directory c:\program files (x86)\python\python34\lib\site-packages\pip-6.0.8.dist-info\description.rst
Cleaning up...
Exception:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python\Python34\lib\shutil.py", line 523, in move
os.rename(src, real_dst)
PermissionError: [WinError 5] Access is denied: 'c:\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst' -> 'C:\\Users\\User\\AppData\\Local\\Temp\\pip-uze_sc4k-uninstall\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\basecommand.py", line 232, in main
status = self.run(options, args)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\commands\install.py", line 347, in run
root=options.root_path,
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_set.py", line 543, in install
requirement.uninstall(auto_confirm=True)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_install.py", line 667, in uninstall
paths_to_remove.remove(auto_confirm)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\req\req_uninstall.py", line 126, in remove
renames(path, new_path)
File "C:\Program Files (x86)\Python\Python34\lib\site-packages\pip\utils\__init__.py", line 316, in renames
shutil.move(old, new)
File "C:\Program Files (x86)\Python\Python34\lib\shutil.py", line 536, in move
os.unlink(src)
PermissionError: [WinError 5] Access is denied: 'c:\\program files (x86)\\python\\python34\\lib\\site-packages\\pip-6.0.8.dist-info\\description.rst'
virtualenv
, ein Verzeichnis der virtuellen Umgebung ("direkter Name der virtuellen Umgebung") zu erstellen und diese virtuelle Umgebung dann mit "dirname \ Script \ Activate" zu aktivieren, bevor Pip-Befehle ausgeführt werden. Auf diese Weise wird alles in Verzeichnisse geschrieben, für die Sie die vollständige Schreibberechtigung haben, ohne dass eine Benutzerkontensteuerung erforderlich ist und ohne globale Installationen für lokale Abhängigkeiten.Antworten:
E: Da diese Antwort an Popularität gewonnen zu haben scheint, möchte ich hinzufügen: Dinge global zu tun ist meistens keine gute Idee. Fast immer lautet die richtige Antwort: Verwenden Sie eine Projektumgebung, in der Sie Dinge nicht global installieren, z
virtualenv
. B. mit .Für diejenigen, die möglicherweise auf dasselbe Problem stoßen:
Führen Sie die Eingabeaufforderung als Administrator aus. Administratorrechte im Konto sind nicht immer ausreichend. In Windows können Dinge als Administrator ausgeführt werden, indem Sie mit der rechten Maustaste auf die ausführbare Datei klicken und "Als Administrator ausführen" auswählen. Geben Sie also "cmd" in das Startmenü ein, klicken Sie mit der rechten Maustaste auf cmd.exe und führen Sie es als Administrator aus.
quelle
virtualenv
immer noch fragen, warum dies eine sinnvollere Lösung ist alspip
als Administrator: "Alles scheint in Ordnung zu sein, aber wir haben unwissentlich eine Katastrophe verursacht!" dabapps.com/blog/introduction-to-pip-and-virtualenv-pythonIch weiß, dass meine Antwort seltsam wäre, aber das habe ich gerade erlebt.
Ich habe den ähnlichen Fehler bei der Installation des Tensorflow-Pakets erhalten und das Gleiche versucht, indem ich Powershell in Windows als Administrator geöffnet habe, aber vergebens.
Später fand ich heraus, dass ich bereits numpy in einem der Python-Skripte in einer aktiven Python-Sitzung verwendet habe. Also habe ich die Spyder-IDE geschlossen und versucht, das Tensorflow-Paket zu installieren, indem ich Powershell als Administrator ausgeführt habe, und es hat funktioniert.
Ich hoffe, dies wird jemand anderem wie mir helfen, der diesen älteren, aber nützlichen Beitrag in den kommenden Tagen öffnen wird
quelle
Selbst wenn Sie vom Administrator aus ausgeführt werden, kann das Problem möglicherweise nicht behoben werden, wenn der Pip in einem anderen Benutzerbereich installiert ist. Dies liegt daran, dass der Administrator nicht das Userspace-Verzeichnis eines anderen besitzt und daher das Innere des Verzeichnisses, das jemandem gehört, nicht sehen (hineingehen) kann. Unten finden Sie eine genaue Lösung.
Hinweis: Sie sollten die Option --user angeben
pip install -U pip --user //Linux, and MacOS
quelle
Für diejenigen, die auf dieses Problem stoßen und die Eingabeaufforderung als Administrator ausführen, funktioniert dies nicht für mich:
Da ich bereits ein erstes Mal versucht hatte, ohne die Eingabeaufforderung cmd als Administrator auszuführen , stellte ich in meinem Ordner c: \ Users \ "USER" \ AppData \ Local \ Temp fest, dass versucht wurde, Dateien aus demselben Ordner pip-u2e7e0ad-uninstall auszuführen . Das Löschen dieses Ordners aus dem Temp- Ordner und das Wiederholen der Installation haben das Problem für mich behoben.
quelle
C:\\Users\\...\\AppData\\Local\\Temp\\pip-unpack-
hat für mich nichts geändert.Verwenden Sie nicht die Eingabeaufforderung in der IDE. Führen Sie die Eingabeaufforderung von Windows als Administrator aus. Ich bin sicher, das wird das Problem lösen. Wenn nicht, deinstallieren Sie pip und installieren Sie die neueste Version direkt neu.
quelle
Ab dem Upgrade von pip 7.xx auf 8.xx unter Python 3.4 (für * .whl-Unterstützung).
Falscher Befehl:
pip install --upgrade pip
(pip.exe kann nicht in temporären Ordner verschoben werden, Berechtigung verweigert)OK Variante:
py -3.4 -m pip install --upgrade pip
(pip.exe nicht ausführen)quelle
Ich hatte das gleiche Problem mit Anaconda unter Windows. Es scheint, dass es ein Problem mit mcAfee Antivirus gibt. Wenn Sie es während der Ausführung der Updates oder Installationen deaktivieren, können Sie die Installation ordnungsgemäß ausführen.
quelle
Nach dem Sehen
You are using pip version 9.0.1, however version 10.0.1 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Ich rannte
und schlagen Sie diesen Fehler
PermissionError: [WinError 5]
Ich versuchte es erneut und bekam
pip install -U pip ERROR: To modify pip, please run the following command: c:\python36-32\python.exe -m pip install -U pip
Nachdem genau dieser Befehl ausgeführt wurde, funktionierte es.
Für diejenigen, die die Verwendung virtueller Umgebungen als Lösung für diesen Fehler fördern, müssen pip und virtualenv in Ihrer Hauptinstallation aktualisiert werden. Einfach ausgedrückt bietet eine virtuelle Umgebung keine Lösung für dieses Problem.
quelle
TL; DR :
python -m pip install -U pip
Dann versuchen Sie es erneut.Ich habe bereits ein
venv
(virtualenv) in PyCharm verwendet.Beim Erstellen habe ich das
inherit global site packages
Kontrollkästchen aktiviert, damit über ein Installationsprogramm installierte Pakete funktionieren. Jetzt war in meinemvenv
keinepip
installiert, also würde es die geerbte globale verwendenpip
.So ist der Fehler gelaufen:
(venv) D:\path\to\my\project> pip install certifi # or any other package
Würde mit scheitern
PermissionError: [WinError 5] Access denied: 'c:\\program files\\python36\\Lib\\site-packages\\certifi'
Beachten Sie, dass dies der Pfad des Systempythons ist, nicht der
venv
. Wir möchten jedoch, dass es in der richtigen Umgebung ausgeführt wird.Hier noch etwas Graben:
(venv) D:\path\to\my\project> which pip /c/Program Files/Python36/Scripts/pip (venv) D:\path\to\my\project> which python /d/path/to/my/project/venv/Scripts/python
Python verwendet also den richtigen Pfad, Pip jedoch nicht? Lassen Sie uns pip auch hier in der richtigen installieren:
Jetzt ist es besser. Das erneute Ausführen des ursprünglichen fehlgeschlagenen Befehls funktioniert jetzt, da der richtige Pip verwendet wird.
(venv) D:\path\to\my\project> pip install certifi # or any other package ... install noise ... Successfully installed certifi-2019.9.11 chardet-3.0.4 idna-2.8 requests-2.22.0 urllib3-1.25.7
quelle
Ich hatte dieses Problem auch unter Windows 10. Durch das Schließen aller meiner Jupyter Notebook-Sitzungen und das erneute Ausführen der
pip install --upgrade
Befehle als Administrator wurde das Problem behoben.quelle
Hinweis: Sie sollten die Option --user angeben
pip install -U pip --user //Linux, and MacOS
Oder führen Sie das Cmd im Administratormodus aus.
quelle
Noch relevant für 2018: Installieren Sie keine Pakete als Administrator.
Die weitaus sinnvollere Lösung besteht darin, mithilfe von virtualenv ein Verzeichnis für virtuelle Umgebungen (
virtualenv dirname
) zu erstellen und diese virtuelle Umgebung danndirname\Script\Activate
in Windows zu aktivieren, bevor Pip-Befehle ausgeführt werden. Oder verwenden Sie pipenv , um die Installationen für Sie zu verwalten.Auf diese Weise wird alles in Verzeichnisse geschrieben, für die Sie die vollständige Schreibberechtigung haben, ohne dass eine Benutzerkontensteuerung erforderlich ist und ohne globale Installationen für lokale Verzeichnisse.
quelle
Beachten Sie, dass Sie, wenn Sie dies über Anaconda installieren, Anaconda als Administrator öffnen und von dort aus die Eingabeaufforderung starten müssen.
Andernfalls können Sie "Anaconda prompt" auch direkt als Administrator ausführen, um Pakete zu deinstallieren und zu installieren.
quelle
Hallo Könnten Sie versuchen, diese Linie cmd seine Arbeit für mich
python -m pip install --user --upgrade pip
quelle
Führen Sie das cmd einfach im Administratormodus aus.
quelle
Ich bin auf dieses Problem gestoßen, als ich mit pycharm eine virtuelle Umgebung erstellt und ausgeführt habe. Ich habe das Kontrollkästchen "Globale Site-Pakete erben" aktiviert. Das Löschen und Neuerstellen des venv hat das Problem für mich gelöst. Wenn Sie ein anderes Mittel zum Erstellen Ihres Venv verwendet haben, stellen Sie sicher, dass es keine globalen Pakete erbt!
quelle
Führen Sie die Eingabeaufforderung als Administrator aus und verwenden Sie das Flag '--user', z. pip install --user --upgrade pandas
quelle
Installieren Sie Python einfach in einem anderen Ordner neu, z
c:\python
. Danach werden Sie nicht mehr von denpip
gewünschten Administratorrechten gestört.Windows 10 Pro x64-Benutzer.
quelle