web-dev-qa-db-fra.com

J'ai essayé d'installer le package python. Une erreur s'affiche alors, telle que "exception ....." pourquoi?

Mes amis, j’ai téléchargé et installé le pip dans mon Ubuntu. Ensuite, j’ai essayé d’installer des paquets comme PLY et My xml, etc. Mais j’ai eu une séquence de phrases écrites en rouge.

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'

J'ai utilisé pip install ply pour l'installer.

Que puis-je faire pour installer des packages?

2
Abhi

pip crée un répertoire pour chaque paquet sous /usr/local/lib/python2.7/dist-packages/ (remplacez 2.7 pour les autres versions) afin de conserver tous les fichiers nécessaires. Vous devez donc disposer des droits suffisants pour créer ce répertoire.

Dans votre cas, vous ne disposez pas des autorisations suffisantes pour créer le répertoire /usr/local/lib/python2.7/dist-packages/ply et c’est pourquoi la modification de pip échoue.

Pour résoudre ce problème, vous pouvez utiliser Sudo:

Sudo pip install ply

Ou mieux, vous pouvez vous ajouter au groupe staff, car les répertoires correspondants créés par pip sous /usr/local/lib/ appartiennent à l'utilisateur root et au groupe staff (avec setgid).

Alors tu peux faire:

Sudo usermod -a -G staff username

Maintenant, déconnectez-vous et reconnectez-vous, voici ce qui devrait fonctionner:

pip install ply
3
heemayl

La seule erreur évidente que je vois est

[Errno 13] Permission denied:

Cela signifie que vous avez oublié de lancer la commande avec Sudo. Changez la commande en ...

Sudo pip install ply
1
Rinzwind