Pip: IOError: [Errno 13] Permiso denegado: '/usr/local/bin/pip'

Creado en 17 dic. 2016  ·  16Comentarios  ·  Fuente: pypa/pip

Descripción:

Como puedo resolver el siguiente problema:

Estaba tratando de instalar autograd y scikit-learn , ambos a través del comando pip. Sin embargo, ambas instalaciones fallaron, con el error
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip'

por lo tanto, supongo que estos errores pueden ser causados ​​por pip, así que pruebo pip con el comando de actualización 'pip install -U pip', respondió
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'

¿Supongo que el pip de mi máquina está roto? Cualquier consejo es muy apreciado, gracias.

Lo que he ejecutado:

El registro del comando en ejecución 'pip install -U pip' se enumera a continuación:

Downloading/unpacking pip from https://pypi.python.org/packages/b6/ac/7015eb97dc749283ffdec1c3a88ddb8ae03b8fad0f0e611408f196358da3/pip-9.0.1-py2.py3-none-any.whl#md5=297dbd16ef53bcef0447d245815f5144
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB): 1.3MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
  Can't roll back pip; was not uninstalled
Cleaning up...
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1436, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 672, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "/usr/lib/python2.7/dist-packages/pip/req.py", line 902, in move_wheel_files
    pycompile=self.pycompile,
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 312, in move_wheel_files
    generated.extend(maker.make(spec))
  File "/usr/share/python-wheels/distlib-0.1.8-py2.py3-none-any.whl/distlib/scripts.py", line 311, in make
    self._make_script(entry, filenames, options=options)
  File "/usr/share/python-wheels/distlib-0.1.8-py2.py3-none-any.whl/distlib/scripts.py", line 215, in _make_script
    self._write_script(scriptnames, shebang, script, filenames, ext)
  File "/usr/share/python-wheels/distlib-0.1.8-py2.py3-none-any.whl/distlib/scripts.py", line 195, in _write_script
    self._fileop.write_binary_file(outname, script_bytes)
  File "/usr/share/python-wheels/distlib-0.1.8-py2.py3-none-any.whl/distlib/util.py", line 384, in write_binary_file
    with open(path, 'wb') as f:
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'

Storing debug log for failure in /home/eric/.pip/pip.log

support

Comentario más útil

Debe agregar la opción --user para instalar sin necesidad de permiso de root.

Todos 16 comentarios

Debe agregar la opción --user para instalar sin necesidad de permiso de root.

¿No podríamos agregar algún mensaje útil para un usuario? Por ejemplo, algo como: "si no tiene permisos de root, ¿usar virtualenv en su lugar?"

Por ejemplo, en R-lang obtienes esto:

> install.packages('yaml')
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning in install.packages("yaml") :
  'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead?  (y/n) y
Would you like to create a personal library
~/R/x86_64-pc-linux-gnu-library/3.0
to install packages into?  (y/n) y

eso definitivamente ayudaría a muchos principiantes...

@hnykda Hice un PR para mejorar el mensaje de error cuando esto sucede (que debería haber hecho hace un tiempo) - #4233.

Gracias. Me gusta eso.

ir a superusuario. después de eso, ejecute 'pip install -U pip'

Cerrando ya que no hay nada que podamos hacer.
Con suerte, #4233 ayudará a reducir la confusión.

agregar --user funciona! Yo he tratado.

¿Cuál será el comando al agregar add --user?

pip install --user <package you want to install>

Ver también: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption -user

Gracias urllib3 instalado correctamente usando pip.

sí, --el usuario funciona :)

¡Aún trabajando! Gracias
pip3 install --user .

Tengo mi secuencia de comandos de python que está recuperando datos de URL y escribiendo en un archivo usando el siguiente comando. Cuando estoy ejecutando este script en mi máquina local, funciona, pero al ejecutar jenkins me da el error 13.

respuesta = urllib.urlopen(url)
tmpXml = respuesta.leer()
con abierto (/tmp/tempxml1.txt,'wr') como archivo1:
archivo1.escribir(tmpXml)
respuesta.cerrar()

Error mostrado en jenkins -
IOError: [Error 13] Permiso denegado: '/tmp/tempxml1.txt'

Cualquier cerebro aquí para ayudarme

@ WV-no7: no aconseje a las personas que usen sudo pip , es una práctica muy mala.

el comando python get-pip.py --user funciona con Ubuntu 18.04. ¿Seguirá siendo un problema para quienes no actualicen Python a la última versión? Parece que Python 2.7 quedará obsoleto en 2020.

Debe agregar la opción --user para instalar sin necesidad de permiso de root.

¿Fue útil esta página
0 / 5 - 0 calificaciones