Pipenv : 명령을 찾을 수 없음


119

저는 Python 개발이 처음이고 pipenv를 사용하려고합니다. pip install pipenv성공적으로 실행 된 명령 을 실행했습니다.

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

그러나 pipenv install새 루트 프로젝트 디렉터리에서 명령 을 실행 하면 다음 메시지가 나타납니다 -bash: pipenv: command not found.. .bashrc를 수정해야 할 것 같지만 파일에 무엇을 추가해야하는지 또는 수정이 필요한지 확실하지 않습니다.


1
확인 /usr/local/bin/pipenv— 거기 있습니까? 가 /usr/local/bin당신에 $PATH?
phd

3
동일한 문제 : 성공적으로 pipenv를 빌드했지만 / usr / local / bin에 pipenv 폴더의 흔적이 없습니다.
aDone

pipenv전 세계적으로 설치 하고 있습니까?
dethos

답변:


126

이는 전체적으로 (시스템 전체) 설치하지 않기 때문에 발생합니다. 에서 사용할 수 있으려면 path다음과 같이을 사용하여 설치해야합니다 sudo.

$ sudo pip install pipenv

86
거기 밖으로 복사 및 pasters를 들어,이 명령은 일반적으로 실행됩니다 sudo -H pip install -U pipenv(예 : 우분투) 설치 pipenv/usr/local/bin. 대안은 사용자가 설치되어 예를 들어 $ pip install pipenv, 같은 어떤 $ pip install --user pipenv물건을 설치하는 $HOME/.local/...(가) 필요, PATH다른 대답으로 수정 될, stackoverflow.com/a/47111756/127971
마이클

2
이것은 새로운 데스크탑 환경으로 매번 나를 얻습니다.
Ligemer 2018 년

@michael 댓글에 가장 좋은 답변이 있습니다. 부끄러움! 대답은 남자로 게시
라훌

@michael 이것은 나를 위해 일한 유일한 것입니다. 정말 감사합니다!
jaycarleton

@michael 답변 주셔서 감사합니다. 작동하는지 확인했습니다.
초음파 검사기

128

이것은 나를 위해 그것을 고쳤습니다.

sudo -H pip install -U pipenv

3
완벽하게 작동했습니다! 우연히이 명령이 무엇을 의미하는지 아십니까 (-H 및 -U)?
Babbz77

12
@ Babbz77 sudo 옵션에 대한 -H (HOME)은 보안 정책이 HOME 환경 변수를 비밀번호 데이터베이스에 지정된대로 대상 사용자 (기본적으로 root)의 홈 디렉토리로 설정하도록 요청합니다. -U for pip install은 지정된 모든 패키지를 사용 가능한 최신 버전으로 업그레이드합니다. 종속성 처리는 사용 된 업그레이드 전략에 따라 다릅니다.
Andrey Vaganov

정말 고마워요, 많이 힘들어했지만 당신의 대답은 저를 구했습니다.
vdkotian

1
이것이 답이되어야합니다. 완벽하게 작동했습니다. 나는 잠시 수색했다. 감사합니다
Ivan Gonzalez

63

사용자 설치를 완료 한 경우 PATH변수에 올바른 폴더를 추가해야 합니다.

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

pipenv의 설치 지침을 참조하십시오.


를 실행해야 pipenv run했고 설치 지침에서 그렇게했기 때문에 유용했습니다 .
eksortso

1
python3 -m site--user-base dir이 있는지 테스트해야 합니다!
Claudio Santos

받아 들여야 할 대답, 감사합니다!
Maxime Lafarie

21

나는 이것을 시도했다 :

python -m pipenv # for python2

python3 -m pipenv # for python3

이것이 당신을 도울 수 있기를 바랍니다.


1
감사합니다. pipenv를 실행할 때마다 python -m을 포함해야하는 이유는 무엇입니까?
suisied

14

pipenvMac OS X 10.13 High Seirra에서 동일한 문제가 발생하고 다른 Mac이 잘 작동합니다. 저는 Heroku를 사용하여 Django 서버를 배포합니다. 일부는 2.7, 일부는 3.6입니다. 따라서 2.7과 3.6이 모두 필요합니다. HomeBrew가 Python을 설치할 때 python포인트는 원래 2.7, python3포인트는 3.6을 유지합니다.

문제는 $ pip install pipenv. / usr / local / bin을 확인했는데 pipenv가 없습니다. 그래서 전체 제거를 시도했습니다.

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

그런 다음 지금 다시 설치하고 작동합니다.

$ pip3 install pipenv
Collecting pipenv

8

OSX 얘들 아, 여기!

@charlax가 대답했듯이 (나에게 가장 좋은 방법) PATH, buuut for mac 사용자 를 설정하는 데 더 동적 인 명령을 사용할 수 있습니다. 이것은 작동하지 않을 수 있습니다 . 때로는 사이트에서 가져온 USER_BASE 경로가 잘못되었으므로 어디에서 찾을 수 있는지 찾아야합니다. 파이썬 설치입니다.

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

심볼릭 링크를 얻은 다음 소스의 심볼릭 링크를 찾아야합니다.

$ 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

(이것은 ../../../루트를 의미합니다)

그래서 파이썬 경로 ( /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6) 를 찾았다면 다음과 같이 ~ / .bashrc를 입력하면됩니다.

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


1
내 문제를 해결했습니다. 건배
Floran Gmehlin

Homebrew를 통해 python3을 설치했습니다. 실행했을 때 which python3출력은 /Cellar/python/3.7.7/bin/python3내 PATH에 할당했지만 여전히``pipenv` not found`입니다. 어떤 생각?
Ozkan Serttas

6

Python이 패키지를 저장하는 위치

설치할 명령으로 이동하기 전에 Python 패키지를 설치pipenv 하는 위치를 이해하는 것이 좋습니다.pip

전역 사이트 패키지 는 Python이 시스템의 모든 사용자와 모든 Python 응용 프로그램에서 사용할 수있는 패키지를 설치하는 곳입니다. 다음 명령을 사용하여 글로벌 사이트 패키지를 확인할 수 있습니다.

python -m site

예를 들어 Python 3.7이 설치된 Linux에서 경로는 일반적으로

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

사용자 사이트 패키지 는 Python이 사용자 에게만 제공되는 패키지를 설치하는 곳입니다. 그러나 패키지는 생성 한 모든 Python 프로젝트에 계속 표시됩니다. 당신은 경로를 얻을 수 있습니다

python -m site --user-base

Python 3.7이 설치된 Linux에서 경로는 일반적으로

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

Python 3.x 사용

대부분의 Linux 및 기타 Unices에서 일반적으로 Python 2와 Python 3은 나란히 설치됩니다. 기본 Python 3 실행 파일은 거의 항상 python3입니다. pipLinux 배포에 따라 다음 중 하나로 사용할 수 있습니다.

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

리눅스

pip와 함께 사용하지 마십시오 sudo! 예, Python 패키지를 설치하는 가장 편리한 방법이며 실행 파일은에서 사용할 수 /usr/local/bin/pipenv있지만 특정 패키지는 항상 모든 사용자와 생성 한 모든 Python 프로젝트에 표시됩니다. 대신 사용자 별 사이트 패키지를 사용하십시오.--user

pip3 install --user pipenv

pipenv 에서 사용할 수 있습니다

~/.local/bin/pipenv

맥 OS

macOS에서 Homebrew는 Python을 설치하는 데 권장되는 방법 입니다. Python을 쉽게 업그레이드하고, 여러 버전의 Python을 설치하고, Homebrew를 사용하여 버전간에 전환 할 수 있습니다.

Homebrew'ed Python을 사용하는 경우 pip install --user비활성화됩니다. 글로벌 사이트 패키지는 다음 위치에 있습니다.

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

여기에서 Python 패키지를 안전하게 설치할 수 있습니다. Python 3.y는 다음 위치에서도 모듈을 검색합니다.

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

윈도우

레거시 이유로 Python은 C:\Python37. 파이썬 실행 파일은 일반적으로 이름 py.exe, 당신은 실행할 수 있습니다 pippy -m pip.

글로벌 사이트 패키지는

C:\Python37\lib\site-packages

일반적으로 Windows 장치를 공유하지 않기 때문에 패키지를 전역으로 설치하는 것도 괜찮습니다.

py -m pip install pipenv

pipenv 지금 사용할 수 있습니다

C:\Python37\Scripts\pipenv.exe

--user기본 사용자 사이트 패키지 디렉터리가 Windows 로밍 프로필에 있으므로 Windows에 Python 패키지를 설치하지 않는 것이 좋습니다.

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

로밍 프로필은 터미널 서비스 (원격 데스크톱, Citrix 등) 및 기업 환경에서 로그온 / 로그 오프 할 때 사용됩니다. Windows에서 느린 로그인, 로그 오프 및 재부팅은 큰 로밍 프로필로 인해 발생할 수 있습니다.


5

pipenv를 전역으로 설치하면 전역 / 시스템 관리 pip 설치를 덮어 쓰면 역효과가 발생할 수 있으므로 pip를 실행하려고 할 때 가져 오기 오류가 발생할 수 있습니다.

사용자 수준에서 pipenv를 설치할 수 있습니다.

pip install --user pipenv

이것은 pip의 글로벌 버전과 충돌하지 않도록 /home/username/.local의 사용자 수준에서 pipenv를 설치해야합니다. 제 경우에는 '--user'스위치를 실행 한 후에도 여전히 작동하지 않았으므로 시스템 관리 환경을 복원하기 위해 더 긴 '내가 망친 문제 수정'명령을 한 번 실행했습니다.

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

^ 여기에서 발견 : pip 업그레이드 후 오류 : 'main'이름을 가져올 수 없습니다.

그리고 다음을 수행했습니다.

mkdir /home/username/.local ... 이미 존재하지 않는 경우

export PYTHONUSERBASE=/home/username/.local

내보내기가 적용되었는지 확인합니다 (이 과정에서 한 번 물어보세요).

echo $PYTHONUSERBASE

그런 다음 나는 실행 pip install --user pipenv했고 모든 것이 잘되었습니다. 그런 다음 CLI에서 pipenv를 실행할 수 있었고 전역 / 시스템 관리 pip 모듈을 덮어 쓰지 않았습니다. 물론 이것은 사용자에 따라 다르므로 pipenv를 사용하려는 사용자로 작업하는 동안 이런 방식으로 pipenv를 설치해야합니다.

참조 :

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



1

pipenv (sudo pip install pipenv )를 명령을 실행하려고 할 때 "Command Not Found"오류가 계속 발생했습니다 pipenv shell.

마침내 다음 코드로 수정했습니다.

pip3 install pipenv
pipenv shell

0

pipenv통해 설치하는 것을 고려할 수 있습니다 pipsi.

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

불행히도 작성 시점에 macOS + python3에 몇 가지 문제가 있습니다. 1 , 2를 참조하십시오 . 제 경우에는 bashprompt를 다음과 같이 변경해야했습니다.#!/Users/einselbst/.local/venvs/pipsi/bin/python



0

윈도우 사용자의 경우 이는 virtualenv와의 설치 충돌 때문일 수 있습니다. 나를 위해 virtualenv와 pipenv를 먼저 제거한 다음 pipenv 만 설치하면 작동했습니다.

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

이제 pipenv install xxx나를 위해 일했습니다.


0

Mac OS X Catalina에서는 Linux 경로를 따르는 것으로 보입니다. 다음 중 하나 사용 :

pip install pipenv
pip3 install pipenv
sudo pip install pipenv
sudo pip3 install pipenv

기본적으로 여기에 pipenv를 설치합니다.

/Users/mike/Library/Python/3.7/lib/python/site-packages/pipenv

그러나 실행 파일이 아니므로 찾을 수 없습니다. 나를 위해 일한 유일한 것은

pip install --user pipenv

이로 __init__.py인해 pipenv명령 을 올바르게 노출하는 내용이있는 위의 디렉토리에 파일 이 생성되는 것 같습니다 .

이 질문에 대한 다른 모든 게시 및 댓글 제안이 실패했을 때 모든 것이 작동하기 시작했습니다.

pipenv 패키지는 확실히 까다로워 보입니다.


Mac 사용자의 경우이 코드도 작동합니다. sudo -H python3 -m pip install pipenv
Jay Dangar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.