Al instalar pip y python me encontré con un que dice:
El directorio '/ Users / Parthenon / Library / Logs / pi' o su directorio padre no es propiedad del usuario actual y el registro de depuración ha sido deshabilitado. Verifique los permisos y el propietario de ese directorio. Si ejecuta pip con sudo, es posible que desee la bandera -H.
porque ahora tengo que instalar usando sudo
.
Tenía Python y un puñado de bibliotecas ya instaladas en mi Mac, estoy ejecutando Yosemite. Recientemente tuve que hacer una limpieza y luego reinstalar el sistema operativo. Ahora recibo este mensaje y tengo problemas para descubrir cómo cambiarlo.
Antes de que mi línea de comando fuera Parthenon$
ahora esPhilips-MBP:~ Parthenon$
Soy el único propietario de esta computadora y esta es la única cuenta en ella. Esto parece ser un problema al actualizar a Python 3.4, nada parece estar en el lugar correcto, virtualenv no va a donde esperaba, etc.
fuente
Respuestas:
También vi este cambio en mi Mac cuando pasé de correr
pip
asudo pip
. Agregar-H
a sudo hace que el mensaje desaparezca para mí. P.ejman sudo
me dice que-H
hacesudo
que se establezca$HOME
a los usuarios de destino (root en este caso).Por lo tanto, parece que pip está investigando
$HOME/Library/Log
y,sudo
por defecto, no está configurado$HOME
en/root/
. Como era de esperar,~/Library/Log
es propiedad de usted como usuario en lugar de root.Sospecho que esto es un cambio reciente en pip. Lo ejecutaré
sudo -H
por ahora para evitarlo.fuente
sudo pip
es totalmente incorrecto. Para obtener más información, consulte aquí stackoverflow.com/questions/33004708/…El problema aquí es que de alguna manera lo instaló en virtualenv usando
sudo
. Probablemente por accidente. Esto significa que elroot
usuario reescribirá los datos del paquete Python, haciendo que todos los archivos sean propiedad de root y su usuario normal ya no pueda escribir esos archivos. Por lo general, virtualenv debe ser usado y propiedad de su usuario normal de UNIX únicamente.Puede solucionar el problema cambiando el paquete de permisos de archivos UNIX a su usuario. Tratar:
entonces
pip
debería poder volver a escribir esos archivos.Más información sobre la gestión de permisos de archivos UNIX
fuente
pip install --user <package name>
(no se necesita sudo) funcionó para mí por un problema muy similar.fuente
información básica
la clave
toda la cosa
pip3 install requests
y obtuve:cd /usr/local/python3/lib/python3.6/site-packages
,ls -al
y obtuve:cuando vi esto, entendí, makedirs es una acción de escritura, pero el modo de solicitudes
drwxrwxr-x
visualizado solo el usuario root puede escribir el archivo de solicitudes. Si agrego yutou (whoami
) a la rueda del grupo, y modifica el paquete, la rueda del grupo puede escribir, entonces yo puedo escribir, y el problema se resuelve.¿Cómo agregar yutou a la rueda de grupo? + detectar rueda de grupo,
sudo dscl . -list /groups GroupMembership
encontrarás:el grupo rueda solo un miembro raíz. + Agregar a la rueda yutou grupo
sudo dscl . -append /Groups/wheel wheel yutou
. + chequesudo dscl . -list /groups GroupMembership
,:modificar el modo del paquete python
fuente
Si modificó su variable $ PATH, eso también podría causar el problema. Si cree que ese podría ser el problema, verifique su ~ / .bash_profile o ~ / .bashrc
fuente