Por que eu preciso instalar todas as dependências do Django após a atualização para o Ubuntu 16.04 (Xenial Xerus)?

1

Eu fiz o upgrade do Ubuntu 14.04 (Trusty Tahr) para o 16.04 (Xenial Xerus) e instalei o Python 3.4 e o Django 1.9.2.

Agora, quando executo um projeto do Django com:

python3.4 manage.py runserver

Eu recebo erros de importação para SciPy, xslt, NumPy, pylab e quais não.

Estou instalando a dependência um por um dos últimos 30-40 minutos, mas um novo erro de importação aumenta sempre.

O que preciso fazer?

    
por sachsure 26.12.2016 / 19:38

1 resposta

1

Os pacotes Python são específicos para uma versão do Python. Cada versão do Python tem sua própria biblioteca de pacotes, isolado das bibliotecas de outras versões no nível do sistema de arquivos. Pacotes instalados para uma biblioteca não estarão disponíveis para outra.

Então, quando você instala uma nova versão do Python, você terá que instalar em sua biblioteca todos os pacotes que você precisa, mesmo se você os instalou com a versão anterior. Isso também significa que os pacotes instalados anteriormente permanecem disponíveis com a versão anterior do Python.

Por fim, É recomendado instalar o Django e suas dependências em virtualenv . Isso não salvará você da "dor" de reinstalar as dependências quando você alterar a versão, Esta é apenas uma boa medida para evitar poluir o seu sistema com pacotes que são apenas necessários pelo Django, e também permite ter múltiplas versões do Django e suas dependências de forma independente. E quando eu digo "dor" de reinstalar dependências, quando segue boas práticas, não é para ser uma dor. As dependências devem ser declaradas em um arquivo requirements.txt na raiz do projeto e a reinstalação de tudo deve ser uma questão de pip install -r requirements.txt .

    
por janos 26.12.2016 / 19:43