pip3 instala o timestring

1

Eu estou tentando instalar a biblioteca de timestring em python3.5 no Ubuntu 16.04 usando o comando: pip3 install timestring

Obtendo este erro:

Exception:
Traceback (most recent call last):
  File "/home/user/.local/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/user/.local/lib/python3.5/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_set.py", line 742, in install
    **kwargs
  File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/home/user/.local/lib/python3.5/site-packages/pip/req/req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "/home/user/.local/lib/python3.5/site-packages/pip/wheel.py", line 346, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/home/user/.local/lib/python3.5/site-packages/pip/wheel.py", line 317, in clobber
    ensure_dir(destdir)
  File "/home/user/.local/lib/python3.5/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.5/dist-packages/pytz-2013b0.dist-info'

Não sei ao certo o que está errado. Como posso obter a biblioteca de timestring instalada?

    
por Chuck 17.06.2016 / 21:47

2 respostas

1

Ele está tentando instalar em um diretório do sistema e seu usuário não tem permissão para fazer isso.

Você tem duas opções:

  1. Instalar localmente, geralmente em um virtualenv. Veja aqui: link
  2. Instale globalmente, com o sudo, para que você tenha privilégios de root: sudo pip install timestring

Pessoalmente, eu prefiro a opção 1 e manter as dependências de cada projeto isoladas em uma veia, mas isso é com você.

    
por roadmr 17.06.2016 / 21:59
0

Olhando para o traceback, pip3 está tentando criar um diretório em /usr/local/lib/python3.5/dist-packages , mas ele não tem permissão para isso, porque você provavelmente não executou pip3 com sudo . A melhor maneira de instalar timestring é evitar sudo e usar virtualenv . O código a seguir funcionou para mim:

sudo apt update && sudo apt install virtualenv  # install virtualenv if you haven't
cd ~/<project directory>  # cd to your project directory
virtualenv venv -p python3  # create virtualenv named venv for Python 3
source venv/bin/activate  # activate virtualenv
pip install timestring

Depois que você terminar de escrever o código para o projeto, execute deactivate para desativar o virtualenv.

    
por edwinksl 18.06.2016 / 00:24

Tags