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.
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
Cela a résolu le problème pour moi:
Sudo -H pip install -U pipenv
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"
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
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"
Avant de passer à la commande qui installera pipenv
, il est utile de comprendre où pip
installe 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
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
É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
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
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.
J'ai essayé ceci:
python -m pipenv # for python2
python3 -m pipenv # for python3
J'espère que cela peut vous aider.
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
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
Ceci est fixé pour moi à:
Sudo -H pip install -U pipenv
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
Dans certains cas de l'ancienne version pip
:
Sudo easy_install pip
Sudo pip install pipenv
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