Podczas instalacji pip i pythona natknąłem się na komunikat, który mówi:
Katalog „/ Users / Parthenon / Library / Logs / pi” lub jego katalog nadrzędny nie jest własnością bieżącego użytkownika, a dziennik debugowania został wyłączony. Sprawdź uprawnienia i właściciela tego katalogu. Jeśli wykonujesz pip z sudo, możesz potrzebować flagi -H.
ponieważ muszę teraz zainstalować za pomocą sudo
.
Miałem Pythona i kilka bibliotek już zainstalowanych na moim Macu, używam Yosemite. Niedawno musiałem wyczyścić pamięć, a następnie ponownie zainstalować system operacyjny. Teraz pojawia się ten monit i nie wiem, jak to zmienić
Wcześniej moja linia poleceń była Parthenon$
terazPhilips-MBP:~ Parthenon$
Jestem wyłącznym właścicielem tego komputera i jest to jedyne konto na nim. Wydaje się, że jest to problem podczas aktualizacji do Pythona 3.4, wydaje się, że nic nie jest we właściwym miejscu, virtualenv nie idzie tam, gdzie się spodziewam itp.
źródło
Odpowiedzi:
Widziałem również tę zmianę na moim Macu, kiedy przeszedłem z biegania
pip
dosudo pip
. Dodanie-H
do sudo powoduje zniknięcie wiadomości. Na przykładman sudo
mówi mi, że-H
powodujesudo
to ustawienie$HOME
na docelowych użytkowników (w tym przypadku root).Wygląda więc na to, że pip patrzy
$HOME/Library/Log
isudo
domyślnie nie jest ustawiony$HOME
na/root/
. Nic dziwnego~/Library/Log
, że jesteś Twoją własnością jako użytkownika, a nie jako root.Podejrzewam, że to jakaś niedawna zmiana w pip. Uruchomię to
sudo -H
na razie, aby obejść.źródło
sudo pip
jest całkowicie nieprawidłowe. Aby uzyskać więcej informacji, odwiedź stronę stackoverflow.com/questions/33004708/ ...Problem polega na tym, że w jakiś sposób zainstalowałeś w virtualenv za pomocą
sudo
. Prawdopodobnie przez przypadek. Oznacza to, żeroot
użytkownik przepisze dane pakietu Pythona, sprawiając, że cały plik jest własnością roota, a zwykły użytkownik nie może już zapisywać tych plików. Zwykle virtualenv powinien być używany i posiadany tylko przez zwykłego użytkownika systemu UNIX.Możesz rozwiązać ten problem, zmieniając pakiet uprawnień do plików systemu UNIX na użytkownika. Próbować:
wtedy
pip
powinien móc ponownie zapisać te pliki.Więcej informacji na temat zarządzania uprawnieniami do plików w systemie UNIX
źródło
pip install --user <package name>
(nie potrzeba sudo) działało dla mnie z bardzo podobnym problemem.źródło
podstawowa informacja
klucz
cała rzecz
pip3 install requests
i otrzymałem:cd /usr/local/python3/lib/python3.6/site-packages
, wtedyls -al
i otrzymałem:kiedy to zobaczyłem, zrozumiałem, że makedirs to czynność zapisu, ale tryb żądań
drwxrwxr-x
wyświetlany tylko użytkownik root może zapisać plik żądań. Jeśli dodasz yutou (whoami
) do koła grupowego i zmodyfikujesz pakiet, aby koło grupy mogło pisać, wtedy mogę pisać i problem został rozwiązany.Jak dodać yutou do koła grupowego? + wykryj koło grupowe,
sudo dscl . -list /groups GroupMembership
znajdziesz:koło grupy tylko jeden element główny. + Dodaj yutou do koła grupowej
sudo dscl . -append /Groups/wheel wheel yutou
. + Sprawdzenie,sudo dscl . -list /groups GroupMembership
:zmodyfikuj tryb pakietu Pythona
źródło
Jeśli zmienisz zmienną $ PATH, może to również spowodować problem. Jeśli myślisz, że to może być problem, sprawdź swój ~ / .bash_profile lub ~ / .bashrc
źródło