Encontrei a resposta para o problema. Isso ocorre porque o Virtualenv é instalado com o sudo e o arquivo pip / .cache é de propriedade do usuário. Existem alguns pacotes que requerem acesso ao sudo. Abaixo está a informação sobre o problema e referência. Eu adicionei um guia idiotas abaixo da explicação para este erro.
- Quando pacotes instalados globalmente estão no caminho do python e entram em conflito com os requisitos de instalação, eles são ignorados e não são desinstalados.
- Quando pacotes instalados globalmente estão no caminho do python e satisfazem os requisitos de instalação, o pip não faz nada e relata que esse requisito é satisfeito (semelhante a como os pacotes globais podem satisfazer os requisitos ao instalar pacotes em um site -system- pacotes virtualenv). O
- pip não executará uma instalação --user em um --no-site-packages virtualenv (ou seja, o tipo padrão de virtualenv), devido ao site do usuário não estar no caminho do python. A instalação seria inútil.
- Em um --system-site-packages virtualenv, o pip não instalará um pacote que entre em conflito com um pacote nos pacotes do site virtualenv. A instalação do --user não teria precedência sys.path e seria inútil.
Mais informações podem ser lidas aqui link .
Minha correção
-
Removeu todos os pacotes do projeto em ~ / user / .cache. Qual onde foi instalado 'erroneamente'
pip uninstall -r <path_to_project_requirements.txt>
(prefixo N.B com sudo quando requerido). -
Removido virtualenv
sudo pip uninstall virtualenv
-
Instale o virtualenv usando:
pip --user install virtualenv
. Qual vai parar os problemas de propriedade. E, salve-o de ter que instalá-lo globalmente com o sudo - você também pode usar o wrapper virtualenv que provavelmente pouparia um pouco dessa dor, mas eu não sou ... -
Crie seu diretório de projeto:
mkdir <project>
e entre nelecd project
. -
virtualenv venv
crie sua pasta de ambiente local para instalar seus pacotes em. venv/bin/activate
-
continue a instalação dos requisitos do seu projeto.