it-swarm.com.de

pip install: Bitte überprüfen Sie die Berechtigungen und den Eigentümer dieses Verzeichnisses

Während der Installation von pip und python bin ich auf folgendes gestoßen:

Das Verzeichnis '/ Users/Parthenon/Library/Logs/pi' oder das übergeordnete Verzeichnis gehört nicht dem aktuellen Benutzer und das Debug-Protokoll wurde deaktiviert. Bitte überprüfen Sie die Berechtigungen und den Eigentümer dieses Verzeichnisses. Wenn Sie pip mit Sudo ausführen, möchten Sie möglicherweise das Flag -H.

weil ich jetzt mit Sudo installieren muss.

Ich hatte python und eine Handvoll Bibliotheken bereits auf meinem Mac installiert. Ich habe Yosemite ausgeführt. Vor kurzem musste ich ein sauberes Wipe durchführen und dann das Betriebssystem neu installieren. Jetzt bekomme ich das Prompt und ich habe Probleme herauszufinden, wie ich es ändern kann

Bevor meine Kommandozeile war Parthenon$ jetzt ist es Philips-MBP:~ Parthenon$

Ich bin der alleinige Besitzer dieses Computers und dies ist der einzige Account darauf. Dies scheint ein Problem zu sein, wenn ein Upgrade auf python 3.4, nichts scheint am richtigen Ort zu sein, virtualenv geht nicht dahin, wo ich es erwarte, usw.

153
Phil Andrews

Ich habe diese Änderung auch auf meinem Mac gesehen, als ich von pip zu Sudo pip Gewechselt bin. Durch Hinzufügen von -H Zu Sudo verschwindet die Nachricht für mich. Z.B.

Sudo -H pip install foo

man Sudo Sagt mir, dass -HSudo veranlasst, $HOME Auf die Zielbenutzer zu setzen (in diesem Fall root).

Es sieht also so aus, als würde pip nach $HOME/Library/Log Suchen, und Sudo setzt $HOME Standardmäßig nicht auf /root/. Es überrascht nicht, dass ~/Library/Log Ihnen als Benutzer und nicht als root gehört.

Ich vermute, dies ist eine kürzliche Änderung in pip. Ich werde es zunächst mit Sudo -H Ausführen, um es zu umgehen.

124
Von

pip install --user <package name>(kein Sudo nötig) hat bei mir für ein sehr ähnliches Problem gearbeitet.

59
Safwan

Das Problem dabei ist, dass Sie mit Sudo irgendwie in virtualenv installiert haben. Wahrscheinlich aus Versehen. Dies bedeutet, dass der Benutzer root Python) die Paketdaten umschreibt, sodass alle Dateien im Besitz von root sind und Ihr normaler Benutzer diese Dateien nicht mehr schreiben kann Nur für UNIX-Benutzer.

Sie können das Problem beheben, indem Sie das UNIX-Dateiberechtigungspaket für Ihren Benutzer ändern. Versuchen:

$ Sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
$ Sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip

dann sollte pip in der Lage sein, diese Dateien erneut zu schreiben.

Weitere Informationen zur Verwaltung von UNIX-Dateiberechtigungen

56
Mikko Ohtamaa

basisinformation

  • system: Mac OS 18.0.0
  • aktueller Benutzer: yutou

der Schlüssel

  1. fügen Sie das aktuelle Konto der Radgruppe hinzu
Sudo dscl . -append /Groups/wheel wheel $(whoami)
  1. modifiziere python package mode auf 775.
chmod -R 775 ${this_is_your_python_package_path}

das ganze Ding

  • wenn Python3 gut kompiliert ist, entspricht die Information genau der gestellten Frage.
  • Ich versuche pip3 install requests und bekam:
File "/usr/local/python3/lib/python3.6/os.py", line 220, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: 
'/usr/local/python3/lib/python3.6/site-packages/requests'
  • also ich cd /usr/local/python3/lib/python3.6/site-packages, dann ls -al und bekam:
drwxr-xr-x    6 root   wheel   192B  2 27 18:06 requests/

als ich das sah, verstand ich, dass makedirs eine Aktion des Schreibens ist, aber der Anforderungsmodus drwxrwxr-x displaied Nur der Benutzer root kann die Anforderungsdatei schreiben. Wenn Sie (whoami) zum Gruppenrad hinzufügen und das Paket ändern, damit das Gruppenrad schreiben kann, dann kann ich schreiben, und das Problem ist gelöst.

Wie man yutou zum Gruppenrad hinzufügt? + Gruppenrad erkennen, Sudo dscl . -list /groups GroupMembership, du wirst finden:

wheel                    root

das Gruppenrad nur ein Mitglied root. + füge dich zum Gruppenrad hinzu, Sudo dscl . -append /Groups/wheel wheel yutou. + check, Sudo dscl . -list /groups GroupMembership:

wheel                    root yutou

ändern Sie den Paketmodus python

chmod -R 775 /usr/local/python3/lib/python3.6
0
kougazhang

Wenn Sie die Variable $ PATH geändert haben, kann dies ebenfalls zu dem Problem führen. Wenn Sie glauben, dass dies das Problem sein könnte, überprüfen Sie Ihr ~/.bash_profile oder ~/.bashrc

0
jeffhale