Ich bin neu in der Python-Entwicklung und versuche, pipenv zu verwenden. Ich habe den Befehl ausgeführt pip install pipenv
, 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 den Befehl jedoch pipenv install
in einem neuen Stammprojektverzeichnis ausführe, wird folgende Meldung angezeigt : -bash: pipenv: command not found
. Ich vermute, dass ich möglicherweise meine .bashrc-Datei ändern muss, bin mir jedoch nicht sicher, was ich der Datei hinzufügen soll oder ob überhaupt eine Änderung erforderlich ist.
python
python-3.x
pip
pipenv
lgants
quelle
quelle
/usr/local/bin/pipenv
- ist es da? Ist/usr/local/bin
in deinem$PATH
?pipenv
global?Antworten:
Dies liegt daran, dass Sie es nicht global (systemweit) installieren. Damit es in Ihrem verfügbar ist
path
, müssen Sie es wie folgt installierensudo
:quelle
sudo -H pip install -U pipenv
(zB auf Ubuntu), die Installationpipenv
in/usr/local/bin
. Die Alternative ist eine Benutzerinstallation, z. B.$ pip install pipenv
die gleiche wie$ pip install --user pipenv
die Installation in$HOME/.local/...
,PATH
bei der Änderungen erforderlich sind , wie in der anderen Antwort, stackoverflow.com/a/47111756/127971Das hat es für mich behoben:
quelle
Wenn Sie eine Benutzerinstallation durchgeführt haben, müssen Sie Ihrer
PATH
Variablen den richtigen Ordner hinzufügen .Siehe die Installationsanweisungen von pipenv
quelle
pipenv run
insofern nützlich, als ich ausgeführt werden musste , und die Installationsanweisungen sagten es mir.python3 -m site
, ob das Verzeichnis --user-base vorhanden ist!Ich habe es versucht:
python -m pipenv # for python2
python3 -m pipenv # for python3
Hoffe das kann dir helfen.
quelle
Ich habe das gleiche Problem mit
pipenv
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, bleiben diepython
Punkte auf Original 2.7 und diepython3
Punkte auf 3.6 erhalten.Das Problem könnte daran liegen
$ pip install pipenv
. Ich habe / usr / local / bin überprüft und pipenv ist nicht da. Also habe ich eine vollständige Deinstallation versucht:Dann neu installieren und funktioniert jetzt:
quelle
OSX GUYS, ÜBER HIER !!!
Wie @charlax antwortete (für mich der beste), können Sie einen dynamischeren Befehl verwenden, um PATH festzulegen. Für Mac-Benutzer konnte dies jedoch nicht funktionieren . Manchmal ist Ihr von der Site erhaltener USER_BASE-Pfad falsch, sodass Sie herausfinden müssen, wo sich Ihr Pfad befindet Python-Installation ist.
Sie erhalten einen Symlink, dann müssen Sie den Symlink der Quelle finden.
(Dies
../../../
bedeutet Wurzel)Wenn Sie also den Python-Pfad (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
) gefunden haben, müssen Sie nur ~ / .bashrc wie folgt eingeben:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
quelle
which python3
war/Cellar/python/3.7.7/bin/python3
die Ausgabe, die ich meinem PATH zugewiesen habe, aber immer noch "pipenv" nicht gefunden ". Irgendeine Idee?Die globale Installation von pipenv kann sich nachteilig auswirken, indem die globale / systemverwaltete Pip-Installation überschrieben wird. Dies führt zu Importfehlern beim Versuch, 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 dies nach dem Ausführen des Schalters '--user' immer noch nicht. Daher habe ich den längeren Befehl 'Fix was ich vermasselt' einmal ausgeführt, um die vom System verwaltete Umgebung 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
... wenn es noch nicht existiertexport PYTHONUSERBASE=/home/username/.local
Stellen Sie sicher, dass der Export wirksam wurde (hat mich während dieses Vorgangs einmal gebissen):
echo $PYTHONUSERBASE
Dann lief ich das
pip install --user pipenv
und alles war gut. Ich konnte dann pipenv über die CLI ausführen und das globale / systemverwaltete Pip-Modul wurde nicht überschrieben. Dies ist natürlich benutzerspezifisch. Sie möchten also sicherstellen, dass Sie pipenv auf diese Weise installieren, während Sie als Benutzer arbeiten, den Sie pipenv verwenden möchten.Verweise:
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
quelle
Wo Python Pakete speichert
Bevor Sie in den zu installierenden Befehl springen
pipenv
, sollten Sie wissen, wopip
Python-Pakete installiert werden .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
Unter Linux mit Python 3.7 lautet der Pfad normalerweise
In User Site-Paketen installiert Python Pakete, die nur für Sie verfügbar sind. Die Pakete sind jedoch weiterhin für alle von Ihnen erstellten Python-Projekte sichtbar. Sie können den Weg mit bekommen
Unter Linux mit Python 3.7 ist der Pfad normalerweise
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
Abhängig von Ihrer Linux-Distribution ist möglicherweise eine der folgenden Optionen verfügbarLinux
Vermeiden Sie die Verwendung
pip
mitsudo
! Ja, es ist die bequemste Möglichkeit, Python-Pakete zu installieren, und die ausführbare Datei ist verfügbar unter/usr/local/bin/pipenv
, aber es bedeutet auch, dass ein bestimmtes Paket immer für alle Benutzer und alle von Ihnen erstellten Python-Projekte sichtbar ist. Verwenden Sie stattdessen Site-Pakete pro Benutzer mit--user
pipenv
ist verfügbar unterMac OS
Unter macOS ist Homebrew die empfohlene Methode zur Installation von Python . Sie können Python einfach aktualisieren, mehrere Versionen von Python installieren und mit Homebrew zwischen Versionen wechseln.
Wenn Sie Homebrew'ed Python verwenden,
pip install --user
ist deaktiviert. Das globale Site-Paket befindet sich unterund Sie können Python-Pakete hier sicher installieren. Python 3.y sucht auch nach Modulen in:
Windows
Aus alten Gründen wird Python in installiert
C:\Python37
. Die ausführbare Python-Datei wird normalerweise benanntpy.exe
und kannpip
mit ausgeführt werdenpy -m pip
.Globale Site-Pakete werden in installiert
Da Sie Ihre Windows-Geräte normalerweise nicht freigeben, ist es auch in Ordnung, ein Paket global zu installieren
pipenv
ist ab sofort verfügbar unterIch empfehle nicht, Python-Pakete in Windows mit zu installieren
--user
, da sich das Standardverzeichnis für Benutzer-Site-Pakete in Ihrem Windows-Roaming-Profil befindetDas Roaming-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 Roaming-Profil verursacht werden.
quelle
Dies ist für mich festgelegt, um:
quelle
Nach der Installation von pipenv (
sudo pip install pipenv
) wurde beim Versuch, denpipenv shell
Befehl auszuführen , immer wieder der Fehler "Befehl nicht gefunden" angezeigt .Ich habe es endlich mit folgendem Code behoben:
quelle
Sie könnten eine Installation
pipenv
über in Betracht ziehenpipsi
.Leider gibt es zum Zeitpunkt des Schreibens einige Probleme mit macOS + python3, siehe 1 , 2 . In meinem Fall musste ich die Bashprompt auf ändern
#!/Users/einselbst/.local/venvs/pipsi/bin/python
quelle
In einigen Fällen der alten
pip
Version:quelle
Für Windows-Benutzer kann dies auf eine widersprüchliche Installation mit virtualenv zurückzuführen sein. Bei mir hat es funktioniert, als ich zuerst virtualenv und pipenv deinstalliert und dann nur pipenv installiert habe.
Jetzt
pipenv install xxx
hat für mich gearbeitetquelle
Unter Mac OS X Catalina scheint es dem Linux-Pfad zu folgen. Verwenden eines der folgenden Elemente:
Installiert im Wesentlichen pipenv hier:
Aber es ist nicht die ausführbare Datei und wird daher nie gefunden. Das einzige, was für mich funktioniert hat, war
Dies scheint zu einer
__init__.py
Datei im obigen Verzeichnis zu führen, deren Inhalt denpipenv
Befehl korrekt verfügbar macht .und alles begann zu funktionieren, als alle anderen geposteten und kommentierten Vorschläge zu dieser Frage fehlschlugen.
Das pipenv-Paket wirkt sicherlich ziemlich wählerisch.
quelle