Ich habe versucht, das Python-Paket zu installieren. Dann wird ein Fehler wie "Ausnahme ..." angezeigt. Warum?


2

Freunde, ich habe pip in mein Ubuntu heruntergeladen und installiert. Dann habe ich versucht, Pakete wie PLY und My xml etc. zu installieren. Aber ich habe eine Folge von Sätzen in rot geschrieben.

Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 209, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 731, in install
    **kwargs
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 841, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1040, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 343, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 314, in clobber
    ensure_dir(destdir)
  File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 82, in ensure_dir
    os.makedirs(path)
  File "/usr/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/ply'

Früher habe ich pip install plyinstalliert.

Was kann ich tun, um Pakete zu installieren?


2
Sie haben zumindest vergessen, "sudo"
Rinzwind

Antworten:


3

pipErstellt für jedes Paket unter /usr/local/lib/python2.7/dist-packages/(durch 2.7andere Versionen ersetzen ) ein Verzeichnis , in dem alle erforderlichen Dateien gespeichert werden. Sie müssen also über ausreichende Berechtigungen zum Erstellen dieses Verzeichnisses verfügen.

In Ihrem Fall haben Sie keine ausreichende Berechtigung zum Erstellen eines /usr/local/lib/python2.7/dist-packages/plyVerzeichnisses, weshalb dies pipfehlschlägt.

Um dies zu lösen, können Sie Folgendes verwenden sudo:

sudo pip install ply

Oder Sie können sich selbst der staffGruppe hinzufügen, da die von pipunder erstellten relevanten Verzeichnisse dem /usr/local/lib/Benutzer rootund der Gruppe staff(mit setgid) gehören.

Sie können also Folgendes tun:

sudo usermod -a -G staff username

Jetzt abmelden und wieder einloggen, jetzt sollte folgendes funktionieren:

pip install ply

1

Der einzige offensichtliche Fehler, den ich sehe, ist

[Errno 13] Permission denied:

Das heißt, Sie haben vergessen, den Befehl mit zu starten sudo. Ändern Sie den Befehl in ...

sudo pip install ply
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.