Pip: IOError: [Errno 13] Отказано в доступе: '/usr/local/bin/pip'

Созданный на 17 дек. 2016  ·  16Комментарии  ·  Источник: pypa/pip

Описание:

Как я могу решить следующую проблему:

Я пытался установить autograd и scikit-learn через команду pip. Однако обе установки не удались с ошибкой
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip'

таким образом, я предполагаю, что эта ошибка может быть вызвана pip, поэтому я тестирую pip с помощью команды обновления «pip install -U pip», он ответил
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'

Я предполагаю, что pip на моей машине сломан? Любые советы очень ценятся, спасибо.

Что я запускал:

Журнал выполнения команды «pip install -U pip» приведен ниже:

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

Самый полезный комментарий

Вы должны добавить опцию --user для установки без разрешения root.

Все 16 Комментарий

Вы должны добавить опцию --user для установки без разрешения root.

Не могли бы мы добавить какое-нибудь полезное сообщение для пользователя? Например, что-то вроде: «Если у вас нет root-прав, используйте вместо этого virtualenv?»

Например, в R-lang вы получите следующее:

> 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

это определенно поможет многим новичкам...

@hnykda Я сделал PR для улучшения сообщения об ошибке, когда это происходит (что я должен был сделать некоторое время назад) - # 4233.

Спасибо. Я люблю это.

зайди в супер пользователя. после этого запустите «pip install -U pip»

Закрытие, так как мы ничего не можем сделать.
Надеюсь, #4233 поможет уменьшить путаницу.

добавить --user работает! Я пытался.

Какой будет команда, если добавить add --user?

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

Также см.: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption -user

Спасибо, urllib3 успешно установлен с помощью pip.

да, --user работает :)

Еще работает! Спасибо
pip3 install --user .

У меня есть скрипт Python, который извлекает данные URL-адреса и записывает их в файл, используя приведенную ниже команду. Когда я запускаю этот скрипт на своем локальном компьютере, он работает, но запуск через jenkins дает мне ошибку 13.

ответ = urllib.urlopen(url)
tmpXml = ответ.чтение()
с открытым (/tmp/tempxml1.txt,'wr') как файл1:
файл1.write(tmpXml)
ответ.закрыть()

Ошибка отображается на Дженкинсе -
IOError: [Erono 13] Отказано в доступе: '/tmp/tempxml1.txt'

Любой вдохновитель здесь, чтобы помочь мне

@ WV-no7 WV-no7: пожалуйста, не советуйте людям использовать sudo pip , это очень плохая практика.

команда python get-pip.py --user работает с Ubuntu 18.04. Будет ли это по-прежнему проблемой для тех, кто не обновляет Python до последней версии? Похоже, что Python 2.7 устарел в 2020 году.

Вы должны добавить параметр --user для установки без разрешения root.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги