Jestem nowy w programowaniu w Pythonie i próbuję używać pipenv. Uruchomiłem polecenie pip install pipenv
, które zakończyło się pomyślnie:
...
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
...
Jednak po uruchomieniu komendy pipenv install
w katalogu projektu świeżego korzenia otrzymuję następujący komunikat: -bash: pipenv: command not found
. Podejrzewam, że może być konieczne zmodyfikowanie mojego .bashrc, ale nie jestem pewien, co dodać do pliku, ani czy modyfikacja jest w ogóle konieczna.
python
python-3.x
pip
pipenv
lgants
źródło
źródło
/usr/local/bin/pipenv
- czy tam jest? Jest/usr/local/bin
w twoim$PATH
?pipenv
globalnie?Odpowiedzi:
Dzieje się tak, ponieważ nie instalujesz go globalnie (w całym systemie). Aby był dostępny w twoim
path
, musisz go zainstalować za pomocąsudo
:źródło
sudo -H pip install -U pipenv
(np. na ubuntu), instalującpipenv
w/usr/local/bin
. Alternatywą jest np. Instalacja użytkownika$ pip install pipenv
, która jest taka sama jak$ pip install --user pipenv
, która instaluje rzeczy$HOME/.local/...
, wymagającPATH
modyfikacji, jak w drugiej odpowiedzi, stackoverflow.com/a/47111756/127971To naprawiło to dla mnie:
źródło
Jeśli wykonałeś instalację użytkownika, musisz dodać odpowiedni folder do swojej
PATH
zmiennej.Zobacz instrukcje instalacji pipenv
źródło
pipenv run
, a instrukcja instalacji mi to powiedziała.python3 -m site
czy istnieje katalog --user-base!Próbowałem tego:
python -m pipenv # for python2
python3 -m pipenv # for python3
Mam nadzieję, że to może ci pomóc.
źródło
Mam ten sam problem z
pipenv
systemem Mac OS X 10.13 High Seirra, inny Mac działa dobrze. Używam Heroku do wdrażania moich serwerów Django, niektóre w 2.7, a niektóre w 3.6. Potrzebuję więc zarówno 2,7, jak i 3,6. Kiedy HomeBrew instaluje Pythona, zachowujepython
punkty do oryginalnej wersji 2.7 ipython3
wskazuje na 3.6.Problem może wynikać z
$ pip install pipenv
. Sprawdziłem / usr / local / bin i pipenv nie ma. Więc spróbowałem pełnego odinstalowania:Następnie zainstaluj ponownie i działa teraz:
źródło
OSX GUYS, OVER TUTAJ !!!
Jak odpowiedział @charlax (dla mnie najlepsza), możesz użyć bardziej dynamicznego polecenia, aby ustawić PATH, ale dla użytkowników mac to nie mogło działać , czasami twoja ścieżka USER_BASE pobrana ze strony jest nieprawidłowa, więc musisz dowiedzieć się, gdzie instalacja Pythona to.
otrzymasz łącze symboliczne, a następnie musisz znaleźć łącze symboliczne źródła.
(to
../../../
oznacza root)Znalazłeś więc ścieżkę Pythona (
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
), a następnie wystarczy umieścić w niej ~ / .bashrc w następujący sposób:export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"
źródło
which python3
wyjście/Cellar/python/3.7.7/bin/python3
, przypisałem je do mojej PATH, ale nadal nie znaleziono `` pipenv ''. Dowolny pomysł?Gdzie Python przechowuje pakiety
Przed przejściem do polecenia, które zainstaluje
pipenv
, warto zrozumieć, gdziepip
instaluje pakiety Pythona .Globalne pakiety witryn to miejsce, w którym Python instaluje pakiety, które będą dostępne dla wszystkich użytkowników i wszystkich aplikacji Pythona w systemie. Możesz sprawdzić globalny pakiet witryny za pomocą polecenia
Na przykład w systemie Linux z Pythonem 3.7 zwykle ścieżka to
Pakiety witryny użytkownika to miejsce, w którym Python instaluje pakiety dostępne tylko dla Ciebie. Jednak pakiety będą nadal widoczne dla wszystkich tworzonych projektów Pythona. Możesz dostać ścieżkę za pomocą
W systemie Linux z Pythonem 3.7 zwykle jest to ścieżka
Korzystanie z Pythona 3.x
W większości systemów Linux i innych Uniksów Python 2 i Python 3 są zwykle instalowane obok siebie. Domyślny plik wykonywalny Pythona 3 jest prawie zawsze
python3
.pip
może być dostępny jako jeden z poniższych, w zależności od twojej dystrybucji LinuksaLinux
Unikaj używania
pip
zsudo
! Tak, jest to najwygodniejszy sposób instalowania pakietów Pythona, a plik wykonywalny jest dostępny pod adresem/usr/local/bin/pipenv
, ale oznacza to również, że określony pakiet jest zawsze widoczny dla wszystkich użytkowników i wszystkich tworzonych projektów Pythona. Zamiast tego użyj pakietów lokacji dla każdego użytkownika zamiast--user
pipenv
jest dostępny pod adresemSystem operacyjny Mac
W systemie macOS Homebrew jest zalecanym sposobem instalacji Pythona . Możesz łatwo zaktualizować Pythona, zainstalować wiele wersji Pythona i przełączać się między wersjami za pomocą Homebrew.
Jeśli używasz Homebrew'ed Python,
pip install --user
jest wyłączony. Globalny pakiet witryn znajduje się pod adresemi możesz tutaj bezpiecznie zainstalować pakiety Pythona. Python 3.y wyszukuje również moduły w:
Windows
Ze starszych powodów Python jest instalowany w
C:\Python37
. Plik wykonywalny Pythona ma zwykle nazwępy.exe
i można go uruchomićpip
zpy -m pip
.Globalne pakiety lokacji są instalowane w programie
Ponieważ zwykle nie udostępniasz swoich urządzeń z systemem Windows, możesz również zainstalować pakiet globalnie
pipenv
jest teraz dostępny pod adresemNie polecam instalowania pakietów Pythona w systemie Windows z
--user
, ponieważ domyślny katalog witryny-pakietu użytkownika znajduje się w profilu mobilnym systemu WindowsProfil mobilny jest używany w usługach terminalowych (Remote Desktop, Citrix itp.) Oraz podczas logowania / wylogowywania się w środowisku korporacyjnym. Powolne logowanie, wylogowywanie i ponowne uruchamianie w systemie Windows może być spowodowane dużym profilem mobilnym.
źródło
Instalowanie pipenv globalnie może mieć niekorzystny wpływ, nadpisując instalację pip globalną / zarządzaną przez system, co powoduje błędy importu podczas próby uruchomienia pip.
Możesz zainstalować pipenv na poziomie użytkownika:
pip install --user pipenv
Powinno to zainstalować pipenv na poziomie użytkownika w /home/username/.local, aby nie kolidował z globalną wersją pip. W moim przypadku to nadal nie działało po uruchomieniu przełącznika `` --user '', więc raz uruchomiłem dłuższe polecenie `` napraw to, co schrzaniłem '', aby przywrócić środowisko zarządzane przez system:
sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall
^ znaleziono tutaj: Błąd po aktualizacji pip: nie można zaimportować nazwy „main”
a następnie wykonał następujące czynności:
mkdir /home/username/.local
... jeśli jeszcze nie istniejeexport PYTHONUSERBASE=/home/username/.local
Upewnij się, że eksport zadziałał (ugryzł mnie raz podczas tego procesu):
echo $PYTHONUSERBASE
Następnie uruchomiłem
pip install --user pipenv
i wszystko było dobrze. Mogłem wtedy uruchomić pipenv z CLI i nie nadpisał globalnego / zarządzanego przez system modułu pip. Oczywiście jest to specyficzne dla użytkownika, więc chcesz się upewnić, że instalujesz pipenv w ten sposób, pracując jako użytkownik, którego chcesz używać pipenv.Bibliografia:
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
źródło
Naprawiono to, żebym:
źródło
Po zainstalowaniu pipenv (
sudo pip install pipenv
) ciągle otrzymywałem błąd „Nie znaleziono polecenia” podczas próby uruchomieniapipenv shell
polecenia.W końcu naprawiłem to za pomocą następującego kodu:
źródło
Możesz rozważyć instalację
pipenv
przezpipsi
.Niestety w chwili pisania tego artykułu występują pewne problemy z macOS + python3, patrz 1 , 2 . W moim przypadku musiałem zmienić bashprompt na
#!/Users/einselbst/.local/venvs/pipsi/bin/python
źródło
W niektórych przypadkach starej
pip
wersji:źródło
W przypadku użytkowników okien może to być spowodowane konfliktem instalacji z virtualenv. U mnie zadziałało, gdy najpierw odinstalowałem virtualenv i pipenv, a następnie zainstalowałem tylko pipenv.
Teraz
pipenv install xxx
pracował dla mnieźródło
W systemie Mac OS X Catalina wydaje się podążać ścieżką Linuksa. Korzystanie z dowolnego z:
Zasadniczo instaluje tutaj pipenv:
Ale nie jest to plik wykonywalny, więc nigdy go nie znaleziono. Jedyną rzeczą, która działała dla mnie, była
Wydaje się, że w wyniku tego
__init__.py
plik w powyższym katalogu ma zawartość umożliwiającą prawidłowe udostępnieniepipenv
polecenia.i wszystko zaczęło działać, gdy wszystkie inne opublikowane i skomentowane sugestie dotyczące tego pytania zawiodły.
Pakiet pipenv z pewnością wydaje się dość wybredny.
źródło