Pip: IOError: [Errno 13] Berechtigung verweigert: '/usr/local/bin/pip'

Erstellt am 17. Dez. 2016  ·  16Kommentare  ·  Quelle: pypa/pip

Beschreibung:

Wie kann ich folgendes Problem lösen:

Ich habe versucht, autograd und scikit-learn zu installieren, beide über den Befehl pip. Beide Installationen sind jedoch mit dem Fehler fehlgeschlagen
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pip'

Daher denke ich, dass dieser Fehler durch Pip verursacht werden kann, also teste ich Pip mit dem Update-Befehl 'pip install -U pip ', er antwortete
IOError: [Errno 13] Permission denied: '/usr/local/bin/pip'

Ich vermute, Pip auf meiner Maschine ist kaputt? Jeder Rat ist ziemlich zu schätzen, danke.

Was ich gelaufen bin:

Das Protokoll des ausgeführten Befehls „pip install -U pip“ ist unten aufgeführt:

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

Hilfreichster Kommentar

Sie sollten die Option --user hinzufügen, um die Installation ohne Root-Berechtigung durchzuführen.

Alle 16 Kommentare

Sie sollten die Option --user hinzufügen, um die Installation ohne Root-Berechtigung durchzuführen.

Könnten wir nicht eine hilfreiche Nachricht für einen Benutzer hinzufügen? ZB so etwas wie: "Wenn Sie keine Root-Berechtigungen haben, verwenden Sie stattdessen virtualenv?"

In R-lang erhalten Sie z. B. Folgendes:

> 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

das würde sicherlich vielen anfängern helfen...

@hnykda Ich habe eine PR erstellt, um die Fehlermeldung zu verbessern, wenn dies passiert (das hätte ich vor einiger Zeit machen sollen) - #4233.

Danke. Ich mag es.

Gehe zum Superuser. danach 'pip install -U pip' ausführen

Wir schließen, da wir nichts tun können.
Hoffentlich hilft #4233 dabei, die Verwirrung zu verringern.

add --user funktioniert! Ich habe versucht.

Wie lautet der Befehl durch Hinzufügen von add --user?

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

Siehe auch: https://pip.pypa.io/en/stable/reference/pip_install/#cmdoption -user

Danke urllib3 erfolgreich mit pip installiert.

ja, --user funktioniert :)

Immer noch am arbeiten! Danke
pip3 install --user .

Ich habe mein Python-Skript, das URL-Daten abruft und mit dem folgenden Befehl in die Datei schreibt. Wenn ich dieses Skript auf meinem lokalen Computer ausführe, funktioniert es, aber das Ausführen von Jenkins gibt mir Fehler 13.

Antwort = urllib.urlopen(url)
tmpXml = Antwort.read()
mit open (/tmp/tempxml1.txt,'wr') als file1:
file1.write(tmpXml)
Antwort.close()

Fehler auf Jenkins angezeigt -
IOError: [Errono 13] Berechtigung verweigert: '/tmp/tempxml1.txt'

Irgendein Superhirn hier, um mir zu helfen

@WV-no7: Bitte raten Sie den Leuten nicht, sudo pip zu verwenden, das ist eine sehr schlechte Praxis.

Der Befehl python get-pip.py --user funktioniert mit Ubuntu 18.04. Wird dies weiterhin ein Problem für diejenigen sein, die Python nicht auf die neueste Version aktualisieren? Es scheint, dass Python 2.7 im Jahr 2020 veraltet sein wird.

Sie sollten die Option --user hinzufügen, um zu installieren, ohne Root-Berechtigung zu benötigen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen