Como posso resolver o seguinte problema:
Eu estava tentando instalar o autograd e o scikit -learn , ambos através do comando pip. No entanto, ambas as instalações falharam, com o erro
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip'
então eu acho que esses erros podem ser causados por pip, então eu testo o pip com o comando de atualização 'pip install -U pip', ele respondeu
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'
Eu acho que o pip na minha máquina está quebrado? Qualquer conselho é muito agradecido, obrigado.
O log do comando em execução 'pip install -U pip' listado abaixo:
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
Você deve adicionar a opção --user
para instalar sem precisar de permissão de root.
Não poderíamos adicionar alguma mensagem útil para um usuário? Por exemplo, algo como: "se você não tiver permissões de root, use virtualenv em vez disso?"
Por exemplo, em R-lang você obtém isso:
> 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
com certeza ajudaria muitos iniciantes...
@hnykda Fiz um PR para melhorar a mensagem de erro quando isso acontece (que eu deveria ter feito um tempo atrás) - # 4233.
Obrigado. Eu gosto disso.
vá para superusuário. depois disso, execute 'pip install -U pip'
Fechando porque não há nada que possamos fazer.
Espero que #4233 ajude a reduzir a confusão.
adicionar --user
funciona! Eu tentei.
Qual será o comando adicionando add --user?
pip install --user <package you want to install>
Veja também: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption -user
Obrigado urllib3 instalado com sucesso usando pip.
sim, --user funciona :)
Ainda trabalhando! Obrigado
pip3 install --user .
Eu tenho meu script python que está recuperando dados de URL e gravando no arquivo usando o comando abaixo. Quando estou executando este script na minha máquina local, ele funciona, mas a execução do jenkins me dá o erro 13.
resposta = urllib.urlopen(url)
tmpXml = resposta.read()
com aberto (/tmp/tempxml1.txt,'wr') como arquivo1:
arquivo1.write(tmpXml)
resposta.fechar()
Erro exibido no jenkins -
IOError: [Errono 13] Permissão negada: '/tmp/tempxml1.txt'
Qualquer mentor aqui para me ajudar
@WV-no7: por favor, não aconselhe as pessoas a usar sudo pip
, é uma prática muito ruim.
o comando python get-pip.py --user
funciona com o Ubuntu 18.04. Isso continuará sendo um problema para aqueles que não atualizam o python para a versão mais recente? Parece que o Python 2.7 será preterido em 2020.
Você deve adicionar a opção --user para instalar sem precisar de permissão de root.
Comentários muito úteis
Você deve adicionar a opção
--user
para instalar sem precisar de permissão de root.