it-swarm.com.de

Pipenv: Befehl nicht gefunden

Ich bin neu in der Python-Entwicklung und versuche, pipenv zu verwenden. Ich habe den Befehl pip install pipenv ausgeführt, der erfolgreich ausgeführt wurde:

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

Wenn ich jedoch den Befehl pipenv install in einem neuen Stammverzeichnis des Projektverzeichnisses ausführen, erhalte ich die folgende Meldung: -bash: pipenv: command not found. Ich habe den Verdacht, dass ich möglicherweise meine .bashrc ändern muss, aber ich bin mir nicht klar, was ich der Datei hinzufügen soll oder ob überhaupt Änderungen erforderlich sind.

33
lgants

Dies geschieht, weil Sie es nicht global (systemweit) installieren. Damit es in Ihrer path verfügbar ist, müssen Sie es mit Sudo installieren, wie folgt:

$ Sudo pip install pipenv
41
dethos

Das hat es für mich behoben:

Sudo -H pip install -U pipenv
39
tuan ly

Wenn Sie eine Benutzerinstallation durchgeführt haben, müssen Sie der Variablen PATH den richtigen Ordner hinzufügen. 

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

Siehe pipenv Installationsanweisungen

36
charlax

Ich habe dasselbe Problem mit pipenv unter Mac OS X 10.13 High Seirra, ein anderer Mac funktioniert einwandfrei. Ich verwende Heroku, um meine Django-Server bereitzustellen, einige in 2.7 und einige in 3.6. Also brauche ich sowohl 2.7 als auch 3.6. Wenn HomeBrew Python installiert, behält python auf das ursprüngliche 2.7 und python3 auf 3.6.

Das Problem könnte auf $ pip install pipenv zurückzuführen sein. Ich habe/usr/local/bin überprüft und pipenv ist nicht da. Also habe ich eine vollständige Deinstallation versucht:

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

Dann neu installieren und funktioniert jetzt:

$ pip3 install pipenv
Collecting pipenv
4
John Pang

OSX-Jungs, hier !!!

Wie @charlax geantwortet hat (für mich die beste), können Sie einen dynamischeren Befehl verwenden, um PATH zu setzen, buuut für Mac-Benutzer könnte dies nicht funktionieren , manchmal ist Ihr USER_BASE-Pfad von der Site falsch Finden Sie heraus, wo sich Ihre Python-Installation befindet.

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

sie erhalten einen Symlink, dann müssen Sie den Symlink der Quelle finden.

$ 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

(Dieser ../../../ bedeutet root)

Sie haben also den Python-Pfad (/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6) gefunden, dann müssen Sie ~/.bashrc wie folgt eingeben:

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

3
Claudio Santos

Wobei Python Pakete speichert

Bevor Sie zu dem Befehl springen, mit dem pipenv installiert wird, sollten Sie wissen, wo pipPython - Pakete installiert .

In globalen Site-Paketen installiert Python Pakete, die allen Benutzern und allen Python - Anwendungen auf dem System zur Verfügung stehen. Sie können das globale Site-Paket mit dem Befehl überprüfen

python -m site

Unter Linux mit Python 3.7 lautet der Pfad normalerweise

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

In Benutzer-Site-Paketen installiert Python nur für Sie verfügbare Pakete. Die Pakete sind jedoch weiterhin für alle von Ihnen erstellten Python - Projekte sichtbar. Sie können den Pfad mit erhalten

python -m site --user-base

Unter Linux mit Python 3.7 lautet der Pfad normalerweise

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

Verwenden von Python 3.x

Auf den meisten Linux- und anderen Unices werden normalerweise Python 2 und Python 3 nebeneinander installiert. Die standardmäßige ausführbare Python 3-Datei ist fast immer python3. pip ist abhängig von Ihrer Linux-Distribution möglicherweise wie folgt verfügbar

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

Linux

Vermeiden Sie die Verwendung von pip mit Sudo! Ja, es ist der bequemste Weg, Python Pakete zu installieren, und die ausführbare Datei ist unter /usr/local/bin/pipenv verfügbar. Dies bedeutet jedoch auch, dass ein bestimmtes Paket immer für alle Benutzer und alle Python Projekte sichtbar ist du erschaffst. Verwenden Sie stattdessen Site-Pakete für einzelne Benutzer mit --user.

pip3 install --user pipenv

pipenv ist unter verfügbar

~/.local/bin/pipenv

mac OS

Unter macOS ist Homebrew die empfohlene Methode, um Python zu installieren. Sie können Python problemlos aktualisieren, mehrere Versionen von Python installieren und mithilfe von Homebrew zwischen Versionen wechseln.

Wenn Sie Homebrewed Python verwenden, ist pip install --user deaktiviert. Das globale Site-Paket befindet sich unter

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

und Sie können sicher Python Pakete hier installieren. Python 3.y sucht auch nach Modulen in:

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

Windows

Aus älteren Gründen ist Python in C:\Python37 installiert. Die ausführbare Datei Python heißt normalerweise py.exe, und Sie können pip mit py -m pip ausführen.

Globale Site-Pakete werden in installiert

C:\Python37\lib\site-packages

Da Sie Ihre Windows-Geräte normalerweise nicht freigeben, ist es auch in Ordnung, ein Paket global zu installieren

py -m pip install pipenv

pipenv ist ab sofort unter verfügbar

C:\Python37\Scripts\pipenv.exe

Ich empfehle nicht, Python -Pakete unter Windows mit --user zu installieren, da sich das standardmäßige Site-Package-Benutzerverzeichnis in Ihrem Windows-Roaming-Profil befindet

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

Das servergespeicherte Profil wird in Terminaldiensten (Remotedesktop, Citrix usw.) und beim An- und Abmelden in einer Unternehmensumgebung verwendet. Langsames Anmelden, Abmelden und Neustarten in Windows kann durch ein großes servergespeichertes Profil verursacht werden.

2
Hanxue

Ich habe das versucht:

python -m pipenv # for python2

python3 -m pipenv # for python3

Hoffe das kann dir helfen.

2
user9563571

Die globale Installation von pipenv kann sich nachteilig auswirken, wenn die globale/vom System verwaltete Pip-Installation überschrieben wird, was zu Importfehlern führt, wenn versucht wird, pip auszuführen.

Sie können pipenv auf Benutzerebene installieren:

pip install --user pipenv

Dies sollte pipenv auf Benutzerebene in /home/username/.local installieren, damit es nicht zu Konflikten mit der globalen Version von pip kommt. In meinem Fall funktionierte das nach dem Ausführen des Befehls '--user' immer noch nicht, sodass ich einmal den längeren Befehl 'reparieren, was ich vermasselt hatte', um die verwaltete Systemumgebung wiederherzustellen:

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

^ hier gefunden: Fehler nach dem Upgrade von pip: Name 'main' kann nicht importiert werden

und tat dann folgendes:

mkdir /home/username/.local ... falls noch nicht vorhanden

export PYTHONUSERBASE=/home/username/.local

Stellen Sie sicher, dass der Export wirksam wurde (bitt mich während dieses Vorgangs einmal):

echo $PYTHONUSERBASE

Dann lief ich den pip install --user pipenv und alles war gut. Ich konnte dann pipenv von der CLI aus ausführen und das globale/vom System verwaltete Pip-Modul wurde nicht überschrieben. Natürlich ist dies spezifisch für den Benutzer, also möchten Sie sicherstellen, dass Sie pipenv auf diese Weise installieren, wenn Sie als Benutzer arbeiten, den Sie pipenv verwenden möchten.

Verweise:

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

1
NetRay

Nach der Installation von pipenv (Sudo pip install pipenv) wurde beim Versuch, den Befehl pipenv Shell auszuführen, immer wieder der Fehler "Befehl nicht gefunden" angezeigt.

Ich habe es endlich mit folgendem Code behoben:

pip3 install pipenv
pipenv Shell
0
podenborg

Dies ist für mich festgelegt:

Sudo -H pip install -U pipenv
0

Für Fensterbenutzer kann dies an einem Installationskonflikt mit virtualenv liegen. Bei mir hat es funktioniert, als ich zuerst virtualenv und pipenv deinstalliert und dann nur pipenv installiert habe.

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

Jetzt hat pipenv install xxx für mich gearbeitet

0
akhila survi

In einigen Fällen der alten pip -Version:

Sudo easy_install pip
Sudo pip install pipenv
0
prosti

Sie könnten erwägen, pipenv über pipsi zu installieren.

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

Leider gibt es einige Probleme mit macOS + python3 zum Zeitpunkt des Schreibens, siehe 1 , 2 . In meinem Fall musste ich das bashprompt in #!/Users/einselbst/.local/venvs/pipsi/bin/python ändern.

0
einSelbst