Lors de l'installation de pip et de python, j'ai rencontré un qui dit:
Le répertoire '/ Users / Parthenon / Library / Logs / pi' ou son répertoire parent n'appartient pas à l'utilisateur actuel et le journal de débogage a été désactivé. Veuillez vérifier les autorisations et le propriétaire de ce répertoire. Si vous exécutez pip avec sudo, vous voudrez peut-être l'indicateur -H.
car je dois maintenant installer en utilisant sudo
.
J'avais python et une poignée de bibliothèques déjà installées sur mon Mac, j'exécute Yosemite. J'ai récemment dû faire un nettoyage propre, puis réinstaller le système d'exploitation. Maintenant, j'obtiens cette invite et j'ai du mal à comprendre comment la changer
Avant ma ligne de commande était Parthenon$
maintenant c'estPhilips-MBP:~ Parthenon$
Je suis l'unique propriétaire de cet ordinateur et c'est le seul compte sur celui-ci. Cela semble être un problème lors de la mise à niveau vers python 3.4, rien ne semble être au bon endroit, virtualenv ne va pas là où je l'attendais, etc.
la source
Réponses:
J'ai également vu ce changement sur mon Mac lorsque je suis passé de la course
pip
à piedsudo pip
. L'ajout-H
à sudo fait disparaître le message pour moi. Par exempleman sudo
me dit que les-H
causessudo
à définir$HOME
pour les utilisateurs cibles (root dans ce cas).Il semble donc que pip recherche
$HOME/Library/Log
etsudo
ne soit pas défini par défaut$HOME
sur/root/
. Il n'est pas surprenant~/Library/Log
que vous apparteniez à vous en tant qu'utilisateur plutôt qu'en tant que root.Je soupçonne qu'il s'agit d'un changement récent de pip. Je vais l'exécuter avec
sudo -H
pour l'instant pour contourner le problème.la source
sudo pip
est totalement incorrecte. Pour plus d'informations, veuillez vous référer ici stackoverflow.com/questions/33004708/…Quel est le problème ici, c'est que vous avez en quelque sorte installé dans virtualenv en utilisant
sudo
. Probablement par accident. Ça signifieroot
utilisateur réécrira les données du package Python, rendant tous les fichiers appartenant à root et votre utilisateur normal ne pourra plus écrire ces fichiers. En général, virtualenv ne doit être utilisé et détenu que par votre utilisateur UNIX normal.Vous pouvez résoudre le problème en modifiant le pack d'autorisations de fichier UNIX pour votre utilisateur. Essayer:
alors
pip
devrait pouvoir réécrire ces fichiers.Plus d'informations sur la gestion des autorisations de fichiers UNIX
la source
pip install --user <package name>
(aucun sudo nécessaire) a fonctionné pour moi pour un problème très similaire.la source
informations de base
la clé
le tout
pip3 install requests
et j'ai:cd /usr/local/python3/lib/python3.6/site-packages
, alorsls -al
et j'ai:quand j'ai vu cela, j'ai compris, makedirs est une action d'écriture, mais le mode requêtes
drwxrwxr-x
n'affiche que l'utilisateur root peut écrire le fichier de requêtes. Si ajoutez yutou (whoami
) à la roue de groupe et modifiez le paquet pour que la roue de groupe puisse écrire, alors je peux écrire et le problème est résolu.Comment vous ajouter à la roue de groupe? + détecter la roue de groupe``
sudo dscl . -list /groups GroupMembership
vous trouverez:le groupe roue un seul membre root. + Ajouter yutou à la roue de groupe,
sudo dscl . -append /Groups/wheel wheel yutou
. + Chèque,sudo dscl . -list /groups GroupMembership
:modifier le mode du package python
la source
Si vous avez modifié votre variable $ PATH, cela pourrait également causer le problème. Si vous pensez que cela pourrait être le problème, vérifiez votre ~ / .bash_profile ou ~ / .bashrc
la source