Não é possível instalar pacotes corretamente com pip

1

100% noob aqui. Segundo dia usando o Linux.
Usando o Ubuntu 16.04. Ao executar

sudo pip install numexpr

Recebi a mensagem da seguinte forma:

The directory '/home/ark/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/ark/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: numexpr in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied: numpy>=1.6 in /usr/lib/python2.7/dist-packages (from numexpr)

Parece-me que o pacote não está instalado corretamente.

    
por Ark 14.01.2017 / 16:03

1 resposta

1

Com o Python, geralmente é recomendado instalar suas dependências em um ambiente virtual. Dessa forma, você não polui as bibliotecas Python do sistema com as suas próprias. Além disso, ele permite que você instale diferentes versões do mesmo pacote em ambientes virtuais separados, o que pode ser útil se você estiver trabalhando em vários projetos.

Com o Python 3 no Ubuntu, primeiro você precisa instalar o python3-venv para criar ambientes virtuais. Aqui estão todos os comandos que você precisa executar:

$ sudo apt-get install python3-venv
$ pyvenv env
$ source env/bin/activate
$ pip install numexpr
$ python  # The library is now available and you may import it

Se você estiver usando o Python 2, será necessário instalar a ferramenta de terceiros virtualenv para criar e usar o ambiente virtual, já que ele não vem com um embutido. Note, entretanto, que seus comandos são um pouco diferentes.

    
por Daniel Jonsson 14.01.2017 / 17:01