237 votes

Pipenv : Commande non trouvée

Je suis nouveau dans le développement Python et j'essaie d'utiliser pipenv. J'ai exécuté la commande pip install pipenv qui s'est déroulé 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 je lance la commande pipenv install dans un nouveau répertoire de projet Root, je reçois le message suivant : -bash: pipenv: command not found . Je pense que je devrais modifier mon fichier .bashrc, mais je ne sais pas exactement ce qu'il faut ajouter au fichier ou si une modification est nécessaire.

1 votes

Vérifiez /usr/local/bin/pipenv - est-il là ? Est-ce que /usr/local/bin dans votre $PATH ?

4 votes

Même problème ici : pipenv construit avec succès mais aucun signe du dossier pipenv dans /usr/local/bin .

0 votes

Est-ce que vous installez pipenv au niveau mondial ?

279voto

tuan ly Points 651

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

sudo -H pip install -U pipenv

18 votes

@Babbz77 L'option -H (HOME) pour sudo demande à la politique de sécurité de définir la variable d'environnement HOME sur le répertoire personnel de l'utilisateur cible (Root par défaut) tel que spécifié par la base de données des mots de passe. L'option -U pour pip install met à jour tous les paquets spécifiés vers la dernière version disponible. La gestion des dépendances dépend de la stratégie - de mise à niveau utilisée.

0 votes

Merci pour cette

228voto

dethos Points 827

Cela se produit parce que vous ne l'installez pas de manière globale (à 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

131 votes

Pour les copieurs, cette commande est généralement exécutée sous la forme de sudo -H pip install -U pipenv (par exemple sur ubuntu), en installant pipenv sur /usr/local/bin . L'alternative est une installation par l'utilisateur, par exemple, $ pip install pipenv qui est identique à $ pip install --user pipenv qui installe des choses dans $HOME/.local/... en exigeant que le PATH à modifier comme dans l'autre réponse, stackoverflow.com/a/47111756/127971

8 votes

Sudo est dangereux et n'est pas nécessaire pour cela. Les gens ne devraient vraiment jamais exécuter sudo pip install n'importe où. Le plus souvent, vous voudrez utiliser votre gestionnaire de paquets, que ce soit apt, homebrew ou autre. Par exemple, brew install pipenv fonctionne très bien sous macOS. Si votre gestionnaire de paquets n'a pas pipenv dans son catalogue, alors pip install --user est une alternative raisonnable.

136voto

charlax Points 3653

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

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

Voir Instructions d'installation de pipenv

1 votes

C'était utile, dans la mesure où j'avais besoin d'exécuter pipenv run et les instructions d'installation me l'ont dit.

1 votes

Vous devez tester python3 -m site pour voir si le répertoire --user-base existe !

1 votes

C'est la bonne façon de faire basculer l'installation locale. Merci !

57voto

user9563571 Points 101

J'ai essayé ça :

python -m pipenv # for python2

python3 -m pipenv # for python3

J'espère que cela pourra vous aider.

34voto

chiwai Points 11

J'ai le même problème avec pipenv sur 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 d'autres en 3.6. J'ai donc besoin des versions 2.7 et 3.6. Lorsque HomeBrew installe Python, il garde python indique l'original 2.7, et python3 pointe à 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éinstaller et ça marche maintenant :

$ pip3 install pipenv
Collecting pipenv

0 votes

Cela a fonctionné, merci beaucoup !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X