Sou novo no desenvolvimento Python e tento usar pipenv. Executei o comando pip install pipenv
, que foi executado com sucesso:
...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...
No entanto, quando eu executar o comando pipenv install
em um diretório do projeto raiz fresca eu recebo a seguinte mensagem: -bash: pipenv: command not found
. Suspeito que possa precisar modificar meu .bashrc, mas não estou certo sobre o que adicionar ao arquivo ou se a modificação é mesmo necessária.
python
python-3.x
pip
pipenv
lgants
fonte
fonte
/usr/local/bin/pipenv
- está aí? Está/usr/local/bin
na sua$PATH
?pipenv
globalmente?Respostas:
Isso acontece porque você não está instalando globalmente (em todo o sistema). Para que esteja disponível em
path
você você precisa instalá-lo usandosudo
, assim:fonte
sudo -H pip install -U pipenv
(por exemplo, no ubuntu), instalandopipenv
em/usr/local/bin
. A alternativa é uma instalação pelo usuário, por exemplo,,$ pip install pipenv
que é igual a$ pip install --user pipenv
, que instala coisas em$HOME/.local/...
, exigindo que aPATH
seja modificada como na outra resposta, stackoverflow.com/a/47111756/127971Isso resolveu para mim:
fonte
Se você tiver feito uma instalação de usuário, precisará adicionar a pasta certa à sua
PATH
variável.Veja as instruções de instalação do pipenv
fonte
pipenv run
, e as instruções de instalação me disseram isso.python3 -m site
para ver se o diretório --user-base existe!Eu tentei isso:
python -m pipenv # for python2
python3 -m pipenv # for python3
Espero que isso possa ajudá-lo.
fonte
Eu tenho o mesmo problema
pipenv
no Mac OS X 10.13 High Seirra, outro Mac funciona bem. Eu uso o Heroku para implantar meus servidores Django, alguns no 2.7 e alguns no 3.6. Portanto, preciso de 2.7 e 3.6. Quando o HomeBrew instala o Python, elepython
aponta para o 2.7 original epython3
aponta para o 3.6.O problema pode ser devido a
$ pip install pipenv
. Eu verifiquei / usr / local / bin e pipenv não está lá. Então, tentei uma desinstalação completa:Em seguida, reinstale e funcione agora:
fonte
GALERA OSX, AQUI !!!
Como @charlax respondeu (para mim o melhor), você pode usar um comando mais dinâmico para definir o PATH, mas para usuários do mac isso não poderia funcionar , às vezes seu caminho USER_BASE obtido do site está errado, então você precisa descobrir onde está a instalação do python é.
você obterá um link simbólico, então você precisa encontrar o link simbólico da fonte.
(isso
../../../
significa root)Então você encontrou o caminho python (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), então você só precisa inserir ~ / .bashrc da seguinte maneira:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
fonte
which python3
a saída/Cellar/python/3.7.7/bin/python3
que eu atribuí ao meu PATH, mas ainda `` pipenv` não encontrado`. Qualquer ideia?Onde Python armazena pacotes
Antes de pular para o comando que irá instalar
pipenv
, vale a pena entender ondepip
instala os pacotes Python .Global site-packages é onde o Python instala os pacotes que estarão disponíveis para todos os usuários e todos os aplicativos Python no sistema. Você pode verificar o pacote global do site com o comando
Por exemplo, no Linux com Python 3.7, o caminho geralmente é
Os pacotes do site do usuário é onde o Python instala os pacotes disponíveis apenas para você. Mas os pacotes ainda estarão visíveis para todos os projetos Python que você criar. Você pode obter o caminho com
No Linux com Python 3.7, o caminho geralmente é
Usando Python 3.x
Na maioria dos Linux e outros Unices, geralmente Python 2 e Python 3 são instalados lado a lado. O executável padrão do Python 3 é quase sempre
python3
.pip
pode estar disponível como um dos seguintes, dependendo da sua distribuição LinuxLinux
Evite usar
pip
comsudo
! Sim, é a maneira mais conveniente de instalar pacotes Python e o executável está disponível em/usr/local/bin/pipenv
, mas também significa que o pacote específico está sempre visível para todos os usuários e todos os projetos Python que você criar. Em vez disso, use pacotes de site por usuário em vez de--user
pipenv
está disponível emMac OS
No macOS, o Homebrew é a maneira recomendada de instalar o Python . Você pode facilmente atualizar o Python, instalar várias versões do Python e alternar entre as versões usando o Homebrew.
Se você estiver usando o Homebrew'ed Python,
pip install --user
está desabilitado. O pacote global do site está localizado eme você pode instalar os pacotes Python com segurança aqui. Python 3.y também procura módulos em:
janelas
Por motivos de legado, o Python é instalado em
C:\Python37
. O executável Python geralmente é nomeadopy.exe
e pode ser executadopip
com elepy -m pip
.Os pacotes de sites globais são instalados em
Já que você normalmente não compartilha seus dispositivos Windows, também pode instalar um pacote globalmente
pipenv
agora está disponível emNão recomendo instalar pacotes Python no Windows com
--user
, porque o diretório de pacote do site do usuário padrão está em seu perfil de roaming do WindowsO perfil de roaming é usado em Terminal Services (Remote Desktop, Citrix, etc) e quando você faz logon / logoff em um ambiente corporativo. Login, logoff e reinicialização lentos no Windows podem ser causados por um grande perfil de roaming.
fonte
A instalação do pipenv globalmente pode ter um efeito adverso ao sobrescrever a instalação do pip global / gerenciada pelo sistema, resultando em erros de importação ao tentar executar o pip.
Você pode instalar o pipenv no nível do usuário:
pip install --user pipenv
Isso deve instalar o pipenv no nível do usuário em /home/username/.local para que não entre em conflito com a versão global do pip. No meu caso, isso ainda não funcionou depois de executar a opção '--user', então executei o comando mais longo 'consertar o que estraguei' uma vez para restaurar o ambiente gerenciado do sistema:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
^ encontrado aqui: Erro após atualizar o pip: não é possível importar o nome 'principal'
e então fiz o seguinte:
mkdir /home/username/.local
... se ainda não existeexport PYTHONUSERBASE=/home/username/.local
Certifique-se de que a exportação tenha efeito (me morda uma vez durante este processo):
echo $PYTHONUSERBASE
Então, eu corri o
pip install --user pipenv
e tudo estava bem. Eu poderia então executar o pipenv a partir da CLI e ele não substituiu o módulo pip global / gerenciado pelo sistema. Claro, isso é específico para o usuário, portanto, você deseja ter certeza de instalar o pipenv dessa forma enquanto trabalha como o usuário que deseja usar o pipenv.Referências:
https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs
fonte
Isso foi corrigido para mim:
fonte
Depois de instalar pipenv (
sudo pip install pipenv
), continuei recebendo o erro "Comando não encontrado" ao tentar executar opipenv shell
comando.Finalmente consertei com o seguinte código:
fonte
Você pode considerar a instalação
pipenv
viapipsi
.Infelizmente, há alguns problemas com o macOS + python3 no momento da escrita, consulte 1 , 2 . No meu caso, tive que mudar o bashprompt para
#!/Users/einselbst/.local/venvs/pipsi/bin/python
fonte
Em alguns casos de
pip
versão antiga :fonte
Para usuários de janela, isso pode ser devido a instalação conflitante com o virtualenv. Para mim, funcionou quando desinstalei primeiro o virtualenv e o pipenv e, em seguida, instalei apenas o pipenv.
Agora
pipenv install xxx
funcionou para mimfonte
No Mac OS X Catalina, parece seguir o caminho do Linux. Usando qualquer um dos:
Essencialmente instala pipenv aqui:
Mas não é o executável e por isso nunca é encontrado. A única coisa que funcionou para mim foi
Isso parece resultar em um
__init__.py
arquivo no diretório acima que possui conteúdo para expor corretamente opipenv
comando.e tudo começou a funcionar, quando todas as outras sugestões postadas e comentadas sobre esta questão falharam.
O pacote pipenv certamente parece bastante exigente.
fonte