Tentei instalar o pacote python.Então algum erro está aparecendo como “exeption…” por quê?

3

Amigos, eu baixei e instalei o pip no meu Ubuntu.Então eu tentei instalar pacotes como PLY e My xml etc.Mas eu tenho uma seqüência de frases escritas em vermelho.

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'

Eu usei pip install ply para instalar.

O que posso fazer para instalar pacotes?

    
por Abhi 19.02.2016 / 18:35

2 respostas

3

pip cria um diretório para cada pacote em /usr/local/lib/python2.7/dist-packages/ (substitua 2.7 para outras versões) para manter todos os arquivos necessários, portanto, é necessário ter permissão suficiente para criar esse diretório.

No seu caso, você não tem permissão suficiente para criar o diretório /usr/local/lib/python2.7/dist-packages/ply , por isso que pip está falhando.

Para resolver isso, você pode usar sudo :

sudo pip install ply

Ou melhor, você pode se adicionar ao grupo staff , pois os diretórios relevantes criados por pip sob /usr/local/lib/ são de propriedade do usuário root e do grupo staff (com setgid ).

Então você pode fazer:

sudo usermod -a -G staff username

Agora faça logout e faça login novamente, agora o seguinte deve funcionar:

pip install ply
    
por heemayl 19.02.2016 / 18:57
2

O único erro óbvio que vejo é

[Errno 13] Permission denied:

Isso significa que você esqueceu de iniciar o comando com sudo . Altere o comando para ...

sudo pip install ply
    
por Rinzwind 19.02.2016 / 18:43