pip install: por Favor, compruebe los permisos y el propietario de ese directorio

Al instalar pip y python me he topado con una que dice:

El directorio ‘/Usuarios/Partenón/Library/Logs/pi’ o su directorio padre no es propiedad del usuario actual y el registro de depuración ha sido deshabilitada. Por favor, compruebe los permisos y el propietario de ese directorio. Si la ejecución del pip con sudo, es posible que desee la -bandera H.

porque ahora tengo que instalar usando sudo.

Me había python y un puñado de bibliotecas ya instalado en mi Mac, me estoy quedando en Yosemite. Hace poco he tenido que hacer un paño limpio y luego volver a instalar el sistema operativo. Ahora estoy recibiendo este mensaje y estoy teniendo problemas para averiguar cómo cambiar

Antes de mi línea de comandos se Parthenon$ ahora es Philips-MBP:~ Parthenon$

Yo soy el único dueño de este equipo y esta es la única cuenta en él. Este parece ser un problema al actualizar a python 3.4, nada parece estar en el lugar correcto, virtualenv no va donde me espera, etc.

  • Es el nombre de su cuenta de Philip?
  • Acabo de darme cuenta de que esto ocurra cuando el uso de pip en mi propia máquina de ayer, ¿qué quieres decir con virtualenv es no ir a donde usted espera?
  • He instalado Python 3.4 en mi máquina, pero al ejecutar python en mi terminal todavía corre a 2.7 incluso después de ir a través de todo el proceso de instalación. Sólo lo mencioné virtualenv porque me suele encontrar en la Biblioteca/Python/3.4 pero no hay ninguna Biblioteca/Python/3.4
  • usted necesita usar algo como python3 o python3.4 para utilizar el python3 intérprete, los elementos que se reabrió es sólo una opción, ubuntu tiene la misma opción.
  • está usted recibiendo la misma pip problema, aunque? ¿Recientemente la actualización a Yosemite?
  • Que es una advertencia, no debe impedir la instalación de los paquetes, lo que los demás están equivocados? A menos que usted tenía los permisos que siempre se han tenido que utilizar sudo para instalar los paquetes a nivel mundial
  • este es una buena explicación.

InformationsquelleAutor Phil Andrews | 2015-01-09

4 Kommentare

  1. 124

    También vi este cambio en mi Mac cuando me fui a correr pip a sudo pip. La adición de -H a sudo hace que el mensaje fuera para mí. E. g.

    sudo -H pip install foo

    man sudo me dice que -H causas sudo para establecer $HOME para los usuarios (root en este caso).

    Por lo que aparece pip está buscando en $HOME/Library/Log y sudo por defecto no se ajuste $HOME a /root/. No es de extrañar que ~/Library/Log es propiedad de usted, como usuario, en lugar de raíz.

    Sospecho que esto es algún cambio reciente en el pip. Lo voy a ejecutar con sudo -H por ahora para evitar.

    • Por favor, tenga en cuenta que el uso de sudo pip es totalmente incorrecto. Para obtener más información, por favor consulte aquí stackoverflow.com/questions/33004708/…
    • Yo tenía el mismo problema, pero si ahora tengo que instalar el uso de la «H» de la bandera.
  2. 59

    pip install --user <package name> (no sudo necesario) trabajó para mí por una muy similar problema.

    • Debe dar por lo menos uno de los requisitos para la instalación (consulte «pip ayudar a instalar»)
  3. 56

    ¿Cuál es el problema aquí es que de alguna manera instalada en virtualenv utilizando sudo. Probablemente por accidente. Esto significa root usuario volverá a escribir Python paquete de datos, haciendo que todos los archivos propiedad de root y tu usuario normal no puede escribir los archivos. Generalmente virtualenv debe ser utilizado y que es propiedad de la normal de usuario de UNIX sólo.

    Puede solucionar el problema cambiando los permisos de archivo de UNIX pack para el usuario. Probar:

    $ sudo chown -R USERNAME /Users/USERNAME/Library/Logs/pip
    $ sudo chown -R USERNAME /Users/USERNAME/Library/Caches/pip

    luego pip debe ser capaz de escribir los archivos de nuevo.

    Más información acerca de archivos de UNIX gestión de permisos

    • Pip se sigue escribiendo con el error. También tengo una advertencia similar y mi permisos son correctos, el OP no es en realidad el uso de un virtualenv así que tendría sentido que la instalación de paquetes a nivel mundial requeriría el uso de sudo.
    • Si el pip da un error de que los permisos son correctos, por favor, mostrar su archivo de permisos, por lo que podemos averiguar lo que está mal con ellos. Por otra parte, ayudar sería un tiro en la oscuridad.
    • También sugiero que abra una otra pregunta porque el problema podría ser diferente de lo que el autor original tiene
    • Usando mi propio nombre de usuario, recibí un mensaje de error: Entrada: sudo chown -R USUARIO /Usuarios/nombre de USUARIO/Library/Logs/pip de Salida: chown: /Usuarios/nombre de USUARIO/Library/Logs/pip: No existe el fichero o el directorio
  4. 0

    información básica

    • sistema: mac os 18.0.0
    • usuario actual: yutou

    la clave

    1. agregar la cuenta corriente de la rueda de grupo
    sudo dscl . -append /Groups/wheel wheel $(whoami)
    1. modificar paquete de python en modo a 775.
    chmod -R 775 ${this_is_your_python_package_path}

    toda la cosa

    • cuando python3 compila bien, la información es como la pregunta dice.
    • Intento usar pip3 install requests y tengo:
    File "/usr/local/python3/lib/python3.6/os.py", line 220, in makedirs
        mkdir(name, mode)
    PermissionError: [Errno 13] Permission denied: 
    '/usr/local/python3/lib/python3.6/site-packages/requests'
    • así que me cd /usr/local/python3/lib/python3.6/site-packages,
      luego ls -al y tengo:
    drwxr-xr-x    6 root   wheel   192B  2 27 18:06 requests/

    cuando vi esto, me entiende, makedirs es una acción de escribir,
    pero las peticiones modo drwxrwxr-x desplegado sólo el usuario root
    puede escribir las peticiones de archivo.
    Si agregar yutou(whoami) para el grupo de la rueda, y modificar el paquete
    para el grupo de la rueda puede escribir, entonces puedo escribir, y el problema resuelto.

    Cómo agregar yutou a grupo de la rueda?
    + detectar grupo rueda, sudo dscl . -list /groups GroupMembership, usted encontrará:

    wheel                    root

    el grupo de la rueda de sólo uno de los miembros de la raíz.
    + añadir yutou a grupo rueda, sudo dscl . -append /Groups/wheel wheel yutou.
    + comprobar, sudo dscl . -list /groups GroupMembership:

    wheel                    root yutou

    modificar el paquete de python modo

    chmod -R 775 /usr/local/python3/lib/python3.6

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea