Estou tentando instalar o pacote flake8 usando pip3 e parece que ele se recusa a instalar porque já está instalado em um local.
Como posso forçar a instalação global (nível do sistema)?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
Por favor, note que eu preferiria uma solução genérica (que deve funcionar no Debian, OS X talvez até Windows), uma que deve ser usada em qualquer plataforma, então não quero especificar o destino sozinho.
Por alguma razão estranha, ele se comporta como se eu já --user
tivesse especificado o que, no meu caso, não fiz.
A única maneira de instalar um pacote globalmente foi removendo-o primeiro e instalando-o novamente depois disso. De alguma forma, parece que pip (8.1.1) se recusa a instalar um pacote globalmente se ele existir localmente.
Aviso: Nenhum ambiente virtual foi usado ou prejudicado durante os experimentos.
pip install flake8 --upgrade
?--system-site-packages
opção de herdar pacotes instalados globalmente em seu venv. Consulte stackoverflow.com/a/61326709/4445175Respostas:
Por que você não tenta
sudo
com aH
bandeira? Isso deve funcionar.Um regular
sudo pip install flake8
tentará usar seu próprio diretório pessoal. O-H
instrui a usar o diretório inicial do sistema. Mais informações em https://stackoverflow.com/a/43623102/fonte
H
como em Hlobal?-H
como em ei sudo, pare de usar meu diretório inicial. use seu próprioH
diretório ome em vez de stackoverflow.com/a/43623102pip3 install ipython
quando o virtualenv é desativado, eles parecem instalar no mesmosite-packages
diretório.Talvez
--force-reinstall
funcionasse, caso contrário,--ignore-installed
deveria funcionar.fonte
Você está usando
virtualenv
? Se sim, desative o virtualenv. Se você não estiver usando, ele já está instalado amplamente (nível do sistema). Tente atualizar o pacote.fonte
Na verdade, não vejo seu problema. Globalmente é qualquer pacote que esteja na pasta do pacote do site do seu caminho python3.
Se você quiser usá-lo apenas localmente, deverá configurar um virtualenv e reinstalar os pacotes com um ambiente virtual ativado.
fonte
--system-site-packages .venv/dev
para herdar pacotes globais, de forma que não precise reinstalá-los em cada venv. Isso faz sentido para pacotes que você pode querer usar em qualquer projeto, ou seja, black, flake8, pytest. Exemplo:python -m venv --system-site-packages .venv/dev
Vou dar uma solução do windows que estava enfrentando e demorou um pouco para resolver.
Em primeiro lugar, no windows (tomarei Windows como SO aqui), se o fizer
pip install <package_name>
, será por defeito instalado globalmente ( se não tiver activado um ambiente virtual ). Depois de ativar um ambiente virtual e estiver dentro dele, todas as instalações do pip estarão dentro desse ambiente virtual.Para este pip pode estar dando a você um aviso de que os executáveis do pip
pip3.exe
, como ,pip.exe
não estão em sua variável de caminho. Para isso, você pode adicionar este caminho (normalmente -C:\Users\<your_username>\AppData\Roaming\Programs\Python\
) às suas variáveis ambientais . Depois disso, reinicie o seucmd
e agora tente usar o pacote python instalado. Deve funcionar agora.fonte