Saat memasang pip dan python saya telah berlari ke dalam yang mengatakan:
Direktori '/ Users / Parthenon / Library / Logs / pi' atau direktori induknya tidak dimiliki oleh pengguna saat ini dan log debug telah dinonaktifkan. Silakan periksa izin dan pemilik direktori itu. Jika menjalankan pip dengan sudo, Anda mungkin menginginkan flag -H.
karena saya sekarang harus menginstal menggunakan sudo
.
Saya punya python dan beberapa perpustakaan sudah diinstal pada Mac saya, saya menjalankan Yosemite. Saya baru-baru ini harus melakukan pembersihan dan instal ulang OS. Sekarang saya mendapatkan prompt ini dan saya mengalami kesulitan mencari tahu bagaimana mengubahnya
Sebelum baris perintah saya Parthenon$
sekarang iniPhilips-MBP:~ Parthenon$
Saya adalah satu-satunya pemilik komputer ini dan ini adalah satu-satunya akun di atasnya. Ini tampaknya menjadi masalah ketika memutakhirkan ke python 3.4, sepertinya tidak ada di tempat yang tepat, virtualenv tidak pergi ke tempat yang saya harapkan, dll.
sumber
Jawaban:
Saya juga melihat perubahan ini di Mac saya ketika saya beralih dari berlari
pip
kesudo pip
. Menambahkan-H
ke sudo menyebabkan pesan hilang untuk saya. Misalnyaman sudo
memberi tahu saya bahwa-H
menyebabkansudo
diatur$HOME
ke pengguna target (root dalam kasus ini).Jadi sepertinya pip sedang mencari
$HOME/Library/Log
dansudo
secara default tidak diatur$HOME
ke/root/
. Tidak mengherankan~/Library/Log
dimiliki oleh Anda sebagai pengguna daripada root.Saya menduga ini adalah beberapa perubahan terbaru dalam pip. Saya akan menjalankannya dengan
sudo -H
untuk saat ini untuk bekerja di sekitar.sumber
sudo pip
sama sekali tidak benar. Untuk informasi lebih lanjut silakan lihat di sini stackoverflow.com/questions/33004708/…Apa masalahnya di sini adalah bahwa Anda entah bagaimana diinstal ke dalam virtualenv menggunakan
sudo
. Mungkin karena kecelakaan. Ini berartiroot
pengguna akan menulis ulang data paket Python, membuat semua file dimiliki oleh root dan pengguna normal Anda tidak dapat menulis file itu lagi. Biasanya virtualenv harus digunakan dan dimiliki oleh pengguna UNIX normal Anda saja.Anda dapat memperbaiki masalah ini dengan mengubah paket izin file UNIX ke pengguna Anda. Mencoba:
maka
pip
harus dapat menulis file-file itu lagi.Informasi lebih lanjut tentang manajemen izin file UNIX
sumber
pip install --user <package name>
(tidak perlu sudo) bekerja untuk saya untuk masalah yang sangat mirip.sumber
Info dasar
kunci
secara garis besar
pip3 install requests
dan mendapatkan:cd /usr/local/python3/lib/python3.6/site-packages
, laluls -al
dan dapatkan:ketika saya melihat ini, saya mengerti, makedir adalah tindakan menulis, tetapi mode permintaan
drwxrwxr-x
hanya dipindahkan pengguna root yang dapat menulis file permintaan. Jika menambahkan yutou (whoami
) ke roda grup, dan memodifikasi paket ke roda grup dapat menulis, maka saya dapat menulis, dan masalah terpecahkan.Bagaimana cara menambahkan yutou ke roda grup? + deteksi roda grup
sudo dscl . -list /groups GroupMembership
,, Anda akan menemukan:roda grup hanya satu root anggota. + tambahkan kamu ke roda grup
sudo dscl . -append /Groups/wheel wheel yutou
,. + Cek,sudo dscl . -list /groups GroupMembership
:memodifikasi mode paket python
sumber
Jika Anda mengubah variabel $ PATH Anda, itu juga bisa menyebabkan masalah. Jika Anda berpikir itu mungkin masalahnya, periksa ~ / .bash_profile atau ~ / .bashrc Anda
sumber