Como posso solucionar problemas de pacotes de sites de sistemas VENV 'não espelhando meu sistema?

1

Estou executando o Arch Linux e quero usar ambientes virtuais para instalar apenas alguns dos pacotes PIP que uso em projetos específicos enquanto continuo usando os pacotes do Arch para Python. No entanto, quando eu faço um novo VENV que usa o argumento --system-site-packages (para acessar os pacotes Python base do Arch), o novo VENV não é um espelho completo do ambiente não-VENV.

Como eu testei isso:

  1. pip freeze da minha instalação atual de Python dos pacotes do Arch .

  2. Criado um ambiente virtual, venv $mkvirtualenv --system-site-packages venv

  3. Criado um segundo pip freeze de dentro do setor ativo

  4. Compare usando diff

Eu esperava que o diff fosse o mesmo, mas existem inúmeras diferenças.

Eu acredito que todos os pacotes relacionados a Python e foram instalados com pacman . Tenho certeza de que todos os pacotes principais (iPython, Numpy, Pandas, Jupyter, Matplotlib, etc.) foram instalados com o gerenciador de pacotes pacman do Arch. Como eu não instalei o sistema ontem, certamente é possível , ao longo do tempo, usei o PIP para alguns pacotes, mas a regra que segui é usar o pacman pacotes instalados para aproveitar a incompatibilidade da comunidade Arch (incompatível com alguma combinação de pacotes Github, PiP e Arch).

Como posso solucionar o problema de pacotes diferentes no meu VENV usando o argumento --system-site-packages ?

NOTA. Esta questão pode estar indo na direção errada se eu não entender como o argumento --system-site-packages funciona. Nesse caso, a pergunta deve ser, Por que o --system-site-packages argument não cria um espelho duplicado dos pacotes Python do meu sistema?

    
por xtian 29.04.2017 / 20:03

0 respostas