Comment puis-je résoudre le problème suivant :
J'essayais d'installer autograd et scikit-learn , tous deux via la commande pip. Cependant, les deux installations ont échoué, avec l'erreur
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip'
donc je suppose que ces erreurs peuvent être causées par pip, donc je teste pip avec la commande de mise à jour 'pip install -U pip', il a répondu
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'
Je suppose que le pip de ma machine est cassé? Tout conseil est très apprécié, merci.
Le journal de la commande en cours d'exécution 'pip install -U pip' répertorié ci-dessous :
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
Vous devez ajouter l'option --user
pour installer sans avoir besoin de l'autorisation root.
Ne pourrions-nous pas ajouter un message utile pour un utilisateur ? Par exemple, quelque chose comme : "si vous n'avez pas les autorisations root, utilisez virtualenv à la place ?"
Par exemple, en R-lang, vous obtenez ceci :
> 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
cela aiderait certainement beaucoup de débutants...
@hnykda J'ai fait un PR pour améliorer le message d'erreur lorsque cela se produit (que j'aurais dû faire il y a quelque temps) - # 4233.
Merci. J'aime ça.
allez sur super utilisateur. après cela, exécutez 'pip install -U pip'
Fermeture car nous ne pouvons rien faire.
Espérons que #4233 aidera à réduire la confusion.
ajouter --user
fonctionne ! J'ai essayé.
Quelle sera la commande en ajoutant add --user ?
pip install --user <package you want to install>
Voir aussi : https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption -user
Merci urllib3 installé avec succès en utilisant pip.
oui, --user fonctionne :)
Je travaille encore! Merci
pip3 install --user .
J'ai mon script python qui récupère les données d'URL et écrit dans le fichier en utilisant la commande ci-dessous. Lorsque j'exécute ce script sur ma machine locale, cela fonctionne mais l'exécution de jenkins me donne l'erreur 13.
réponse = urllib.urlopen(url)
tmpXml = réponse.read()
avec open (/tmp/tempxml1.txt,'wr') comme file1 :
fichier1.write(tmpXml)
réponse.close()
Erreur affichée sur jenkins -
IOError : [Errono 13] Autorisation refusée : '/tmp/tempxml1.txt'
N'importe quel cerveau ici pour m'aider
@WV-no7 : s'il vous plaît, ne conseillez pas aux gens d'utiliser sudo pip
, c'est une très mauvaise pratique.
la commande python get-pip.py --user
fonctionne avec Ubuntu 18.04. Cela continuera-t-il d'être un problème pour ceux qui ne mettent pas à jour Python vers la dernière version ? Il semble que Python 2.7 sera obsolète en 2020.
Vous devez ajouter l'option --user pour installer sans avoir besoin de l'autorisation root.
Commentaire le plus utile
Vous devez ajouter l'option
--user
pour installer sans avoir besoin de l'autorisation root.