web-dev-qa-db-fra.com

Pipenv: commande introuvable

Je débute dans le développement de Python et j'essaie d'utiliser pipenv. J'ai lancé la commande pip install pipenv, qui a fonctionné avec succès:

...
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
...

Cependant, lorsque j'exécute la commande pipenv install dans un nouveau répertoire de projet racine, je reçois le message suivant: -bash: pipenv: command not found. Je suppose que je pourrais avoir besoin de modifier mon .bashrc, mais je ne sais pas trop quoi ajouter au fichier ni si une modification est même nécessaire.

33
lgants

Cela se produit parce que vous ne l'installez pas globalement (à l'échelle du système). Pour qu'il soit disponible dans votre path, vous devez l'installer en utilisant Sudo, comme ceci:

$ Sudo pip install pipenv
41
dethos

Cela a résolu le problème pour moi:

Sudo -H pip install -U pipenv
39
tuan ly

Si vous avez effectué une installation utilisateur, vous devez ajouter le bon dossier à votre variable PATH

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

Voir les instructions d'installation de pipenv

36
charlax

J'ai le même problème avec pipenv sous Mac OS X 10.13 High Seirra, un autre Mac fonctionne très bien. J'utilise Heroku pour déployer mes serveurs Django, certains en 2.7 et certains en 3.6. Donc, j'ai besoin de 2.7 et 3.6. Lorsque HomeBrew installe Python, il conserve python points sur la version d'origine 2.7 et python3 sur 3.6.

Le problème peut être dû à $ pip install pipenv. J'ai vérifié/usr/local/bin et pipenv n'y est pas. J'ai donc essayé une désinstallation complète:

$ pip uninstall pipenv

Cannot uninstall requirement pipenv, not installed
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

$ pip3 uninstall pipenv
Skipping pipenv as it is not installed.

Puis réinstallez et fonctionne maintenant:

$ pip3 install pipenv
Collecting pipenv
4
John Pang

OSX GUYS, ICI !!!

Comme @charlax a répondu (pour moi, le meilleur), vous pouvez utiliser une commande plus dynamique pour définir PATH, buuut pour les utilisateurs de Mac, cela pourrait ne pas fonctionner , parfois le chemin USER_BASE obtenu à partir du site est incorrect, vous devez donc Découvrez où se trouve votre installation Python.

$ which python3
/usr/local/bin/python3.6

vous aurez un lien symbolique, alors vous devez trouver le lien symbolique de la source.

$ ls -la /usr/local/bin/python3.6
  lrwxr-xr-x  1 root  wheel  71 Mar 14 17:56 /usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

(ceci ../../../ signifie racine)

Donc, vous avez trouvé le chemin python (/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6), il vous suffit alors de vous mettre ~/.bashrc comme suit:

export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"

3
Claudio Santos

Où Python stocke les packages

Avant de passer à la commande qui installera pipenv, il est utile de comprendre où pipinstalle les packages Python .

Les packages de sites globaux sont l'emplacement où Python installe les packages qui seront disponibles pour tous les utilisateurs et toutes les applications Python du système. Vous pouvez vérifier le package de site global avec la commande

python -m site

Par exemple, sous Linux avec Python 3.7, le chemin est généralement

/usr/lib/python3.7/dist-packages/setuptools

Les packages de sites utilisateur sont l'emplacement où Python installe les packages disponibles uniquement pour vous. Mais les packages seront toujours visibles par tous les projets Python que vous créez. Vous pouvez obtenir le chemin avec

python -m site --user-base

Sous Linux avec Python 3.7, le chemin est généralement

~/.local/lib/python3.7/site-packages

Utilisation de Python 3.x

Sur la plupart des Linux et autres Unices, généralement Python 2 et Python 3 sont installés côte à côte. L'exécutable Python 3 par défaut est presque toujours python3. pip peut être disponible comme suit: selon votre distribution Linux

pip3
python3-pip
python36-pip
python3.6-pip

Linux

Évitez d’utiliser pip avec Sudo! Oui, c’est le moyen le plus pratique d’installer des packages Python et le fichier exécutable est disponible à l'adresse /usr/local/bin/pipenv, mais cela signifie également qu'un package spécifique est toujours visible pour tous les utilisateurs, ainsi que pour tous les projets Python qui tu crées. À la place, utilisez des packages de site par utilisateur à la place avec --user

pip3 install --user pipenv

pipenv est disponible à l'adresse

~/.local/bin/pipenv

macOS

Sur macOS, Homebrew est la méthode recommandée pour installer Python . Vous pouvez facilement mettre à niveau Python, installer plusieurs versions de Python et passer d'une version à l'autre à l'aide de Homebrew.

Si vous utilisez Python Homebrew'ed, pip install --user est désactivé. Le package de site global est situé à

/usr/local/lib/python3.y/site-packages

et vous pouvez installer en toute sécurité les paquets Python ici. Python 3.y cherche également des modules dans:

 /Library/Python/3.y/site-packages
 ~/Library/Python/3.y/lib/python/site-packages

Les fenêtres

Pour des raisons héritées, Python est installé dans C:\Python37. L'exécutable Python est généralement nommé py.exe et vous pouvez exécuter pip avec py -m pip.

Les packages de site global sont installés dans

C:\Python37\lib\site-packages

Comme vous ne partagez généralement pas vos appareils Windows, vous pouvez également installer un package globalement.

py -m pip install pipenv

pipenv est maintenant disponible sur

C:\Python37\Scripts\pipenv.exe

Je ne recommande pas d'installer les packages Python sous Windows avec --user, car le répertoire site-package utilisateur par défaut se trouve dans votre profil itinérant Windows.

C:\Users\user\AppData\Roaming\Python\Python37\site-packages 

Le profil itinérant est utilisé dans les services Terminal Server (Bureau à distance, Citrix, etc.) et lorsque vous vous connectez/déconnectez dans un environnement d'entreprise. Une connexion lente, une déconnexion et un redémarrage sous Windows peuvent être causés par un profil itinérant volumineux.

2
Hanxue

J'ai essayé ceci:

python -m pipenv # for python2

python3 -m pipenv # for python3

J'espère que cela peut vous aider.

2
user9563571

L'installation de pipenv dans le monde entier peut avoir un effet néfaste en écrasant l'installation de pip global/géré par le système, ce qui entraîne des erreurs d'importation lors de la tentative d'exécution de pip.

Vous pouvez installer pipenv au niveau utilisateur:

pip install --user pipenv

Cela devrait installer pipenv au niveau utilisateur dans /home/nom_utilisateur/.local afin que cela n’entre pas en conflit avec la version globale de pip. Dans mon cas, cela ne fonctionnait toujours pas après avoir exécuté le commutateur '--user'. J'ai donc lancé une fois la commande 'réparer ce que je me suis trompé' pour restaurer l'environnement géré par le système:

Sudo python3 -m pip uninstall pip && Sudo apt install python3-pip --reinstall

^ trouvé ici: Erreur après la mise à niveau de pip: impossible d'importer le nom 'main'

et ensuite fait ce qui suit:

mkdir /home/username/.local ... s'il n'existe pas déjà

export PYTHONUSERBASE=/home/username/.local

Assurez-vous que l'exportation a pris effet (mordez-moi une fois pendant ce processus):

echo $PYTHONUSERBASE

Ensuite, j'ai couru le pip install --user pipenv et tout allait bien. Je pouvais alors exécuter pipenv à partir de la CLI sans que le module de pip global/géré par le système ne soit écrasé. Bien sûr, ceci est spécifique à l'utilisateur, vous voulez donc vous assurer que vous installez pipenv de cette façon tout en travaillant en tant qu'utilisateur que vous souhaitez utiliser pipenv.

Références:

https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-namehttps://pipenv.readthedocs.io/en/latest/install/#pragmatic -installation-of-pipenvhttps://pip.pypa.io/fr/stable/user_guide/#user-installs

1
NetRay

Après avoir installé pipenv (Sudo pip install pipenv), l’erreur "Commande introuvable" persistait lorsque je tentais d’exécuter la commande pipenv Shell.

Je l'ai finalement corrigé avec le code suivant:

pip3 install pipenv
pipenv Shell
0
podenborg

Ceci est fixé pour moi à:

Sudo -H pip install -U pipenv
0

Pour les utilisateurs de Windows, cela peut être dû à un conflit d'installation avec virtualenv. Pour moi, cela a fonctionné lorsque j'ai d'abord désinstallé virtualenv et pipenv, puis que je n'ai installé que pipenv.

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

Maintenant pipenv install xxx a travaillé pour moi

0
akhila survi

Dans certains cas de l'ancienne version pip:

Sudo easy_install pip
Sudo pip install pipenv
0
prosti

Vous pourriez envisager d’installer pipenv via pipsi .

curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv

Malheureusement, il y a des problèmes avec macOS + python3 au moment de la rédaction, voir 1 , 2 . Dans mon cas je devais changer le bashprompt en #!/Users/einselbst/.local/venvs/pipsi/bin/python

0
einSelbst