Während der Installation von Pip und Python bin ich auf eine gestoßen, die besagt:
Das Verzeichnis '/ Users / Parthenon / Library / Logs / pi' oder sein übergeordnetes 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.
da muss ich jetzt mit installieren sudo
.
Ich hatte Python und eine Handvoll Bibliotheken bereits auf meinem Mac installiert. Ich verwende Yosemite. Ich musste kürzlich ein sauberes Löschen durchführen und dann das Betriebssystem neu installieren. Jetzt erhalte ich diese Eingabeaufforderung und habe Probleme, herauszufinden, wie ich sie ändern kann
Bevor meine Kommandozeile Parthenon$
jetzt war, ist esPhilips-MBP:~ Parthenon$
Ich bin der alleinige Besitzer dieses Computers und dies ist das einzige Konto darauf. Dies scheint ein Problem beim Upgrade auf Python 3.4 zu sein, nichts scheint am richtigen Ort zu sein, virtualenv geht nicht dahin, wo ich es erwartet habe usw.
quelle
Antworten:
Ich habe diese Änderung auch auf meinem Mac gesehen, als ich vom Laufen
pip
zu gewechselt binsudo pip
. Das Hinzufügen-H
zu sudo bewirkt, dass die Nachricht für mich verschwindet. Z.Bman sudo
sagt mir, dass die-H
Ursachensudo
auf$HOME
die Zielbenutzer gesetzt werden (in diesem Fall root).So scheint es , pip sucht in
$HOME/Library/Log
undsudo
ist standardmäßig nicht Einstellung$HOME
zu/root/
. Es überrascht nicht, dass~/Library/Log
Sie als Benutzer im Besitz von root sind.Ich vermute, dass dies eine kürzliche Änderung in pip ist. Ich werde es vorerst ausführen, um es
sudo -H
zu umgehen.quelle
sudo pip
völlig falsch ist. Weitere Informationen finden Sie hier stackoverflow.com/questions/33004708/…Was ist das Problem hier ist, dass Sie irgendwie in virtualenv mit installiert haben
sudo
. Wahrscheinlich aus Versehen. Dies bedeutet, dass derroot
Benutzer Python-Paketdaten neu schreibt, sodass alle Dateien im Besitz von root sind und Ihr normaler Benutzer diese Dateien nicht mehr schreiben kann. Normalerweise sollte virtualenv nur von Ihrem normalen UNIX-Benutzer verwendet werden und ihm gehören.Sie können das Problem beheben, indem Sie das UNIX-Dateiberechtigungspaket für Ihren Benutzer ändern. Versuchen:
dann
pip
sollte es möglich sein, diese Dateien wieder zu schreiben.Weitere Informationen zur Verwaltung von UNIX-Dateiberechtigungen
quelle
pip install --user <package name>
(kein Sudo erforderlich) arbeitete für mich für ein sehr ähnliches Problem.quelle
Basisinformation
der Schlüssel
das ganze Ding
pip3 install requests
und habe:cd /usr/local/python3/lib/python3.6/site-packages
dannls -al
und bekam:Als ich das sah, verstand ich, dass Makedirs eine Aktion des Schreibens ist, aber der Anforderungsmodus, der
drwxrwxr-x
angezeigt wird, dass nur der Benutzer root die Anforderungsdatei schreiben kann. Wenn du hinzufügst (whoami
) zum Gruppenrad und das Paket so ändern, dass das Gruppenrad schreiben kann, dann kann ich schreiben und das Problem lösen.Wie füge ich dich zum Gruppenrad hinzu? + Gruppenrad erkennen
sudo dscl . -list /groups GroupMembership
, finden Sie:Das Gruppenrad hat nur eine Mitgliedswurzel. + füge yutou zum Gruppenrad hinzu ,
sudo dscl . -append /Groups/wheel wheel yutou
. + check ,sudo dscl . -list /groups GroupMembership
:Ändern Sie den Python-Paketmodus
quelle
Wenn Sie Ihre Variable $ PATH geändert haben, kann dies ebenfalls zu dem Problem führen. Wenn Sie der Meinung sind, dass dies das Problem sein könnte, überprüfen Sie Ihr ~ / .bash_profile oder ~ / .bashrc
quelle