[python] pip는 패키지를 성공적으로 설치하지만 명령 줄에서 찾을 수없는 실행 파일

Mac OS X Yosemite, 버전 10.10.3에서 작업하고 있습니다.

http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/ 에서 수행 한대로 macport를 사용하여 python2.7 및 pip를 설치했습니다.

패키지를 성공적으로 설치하고 Python 환경 및 Python 스크립트 내에서 가져올 수 있습니다. 그러나 터미널의 명령 줄에서 호출 할 수있는 패키지와 관련된 실행 파일을 찾을 수 없습니다.

누구든지 무엇이 잘못되었는지 알고 있습니까? (자세한 내용은 아래 참조)

예를 들어 http://wiki.ros.org/jade/Installation/Source에 설명 된 대로 “rosdep”라는 패키지를 설치하는 동안

실행할 수 있습니다 : sudo pip install -U rosdep
오류없이 설치되며 해당 파일이/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

그러나 실행하려고하면 : sudo rosdep init, 오류가 발생합니다."sudo: rosdep: command not found"

이것은 패키지 특정 오류가 아닙니다. 내 컴퓨터에서 pip를 사용하여 설치된 모든 패키지에 대해 이것을 얻습니다. 나는 심지어 추가를 시도했다

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

$PATH. 그러나 패키지가 파이썬 내에서 완벽하게 작동하더라도 실행 파일은 명령 줄에서 찾을 수 없습니다.



답변

$ PATH 확인

tox 명령 줄 모드가 있습니다.

audrey:tests jluc$ pip list | grep tox
tox (2.3.1)

어딨어?

(편집 다음 2.7물건 하나에 많은 여기에 서브를 중요하지 않습니다 3.x및 핍의 같은 방법으로 거의 행동)

audrey:tests jluc$ which tox
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/tox

내 $ PATH에 무엇이 있습니까?

audrey:tests jluc$ echo $PATH
/opt/chefdk/bin:/opt/chefdk/embedded/bin:/opt/local/bin:..../opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin...

통지 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin를 ? 그것이 내 pip 설치 항목을 찾을 수있게 해주는 것입니다.

지금은 상황이 파이썬 어디에서,이 (대체 일을하려고 볼 수 있습니다 rosdep를 들어 tox).

$python
>>> import tox
>>> tox.__file__

출력 :

'/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tox/__init__.pyc'

이제 CD 위의 디렉토리 오른쪽 lib위이다. bin 디렉토리 가 보이 십니까? 당신이 볼 수 있나요 rosdep그 빈에? 그렇다면 bin$ PATH에 추가해보십시오 .

audrey:2.7 jluc$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7
audrey:2.7 jluc$ ls -1

산출:

Headers
Python
Resources
bin
include
lib
man
share


답변

기본 Python 설치를 사용하는 macOS에서는 /Users/<you>/Library/Python/2.7/bin/$ PATH 에 추가 해야합니다.

이것을 .bash_profile에 추가하십시오.

export PATH="/Users/<you>/Library/Python/2.7/bin:$PATH"

pip가 실행 파일을 설치하는 곳입니다.

팁 : 기본이 아닌 Python 버전 which python의 경우 Python 설치 위치를 찾고 위의 경로에서 해당 부분을 바꿉니다. (힌트 Sanket_Diwale에 감사드립니다)


답변

--user(예 pip3.6 install --user tmuxp) 를 사용하여 설치하는 경우 site모듈을 사용하여 Python 자체에서 플랫폼 별 사용자 설치 디렉토리를 가져올 수 있습니다. 예를 들어 macOS의 경우 :

$ python2.7 -m site --user-base
/Users/alexp/Library/Python/2.7

여기에 추가 /bin하면 패키지 실행 파일이 설치 될 경로가 생겼습니다. 출력을 기반으로 쉘의 rc 파일에 PATH를 동적으로 채울 수 있습니다. 나는 bash를 사용하고 있지만 운이 좋으면 이식 가능합니다.

# Add Python bin directories to path
python3.6 -m site &> /dev/null && PATH="$PATH:`python3.6 -m site --user-base`/bin"
python2.7 -m site &> /dev/null && PATH="$PATH:`python2.7 -m site --user-base`/bin"

정확한 Python 버전을 사용하여 Python이 부 버전을 3.5에서 3.6으로 업그레이드 할 때 실행 파일이 “사라질”가능성을 줄입니다. 위에서 볼 수 있듯이 사용자 설치 경로에 Python 버전이 포함될 수 있기 때문에 사라집니다. 따라서 python33.5 또는 3.6을 가리킬 수 있지만 python3.6항상 3.6을 가리킬 것입니다. 사용 예를 들어, 추가 패키지를 설치할 때이 요구를 염두에 보관해야합니다 pip3.6이상 pip3.

당신이 패키지 사라지는의 아이디어를 신경 쓰지 않으면 사용할 수 있습니다 python2python3대신 :

# Add Python bin directories to path
# Note: When Python is upgraded, packages may need to be re-installed
#       or Python versions managed.
python3 -m site &> /dev/null && PATH="$PATH:`python3 -m site --user-base`/bin"
python2 -m site &> /dev/null && PATH="$PATH:`python2 -m site --user-base`/bin"


답변

macOS에 대해 묻는 질문을 알고 있지만 여기에 Google을 통해 여기에 도착 하는 Linux 사용자를 위한 솔루션 이 있습니다.

pip를 통해 pdfx 패키지를 설치하여이 질문에 설명 된 문제가 발생했습니다 .

하지만 실행했을 때 아무것도 …

pip list | grep pdfx
pdfx (1.3.0)

아직:

which pdfx
pdfx not found

Linux의 문제는 pip install ...스크립트를 드롭 ~/.local/bin하고 이것이 기본 Debian / Ubuntu가 아니라는 것입니다 $PATH.

자세한 내용은 GitHub 문제입니다. https://github.com/pypa/pip/issues/3813

해결하려면, 단지 추가 ~/.local/bin당신에게 $PATH당신에 다음 라인을 추가하여, 예를 들어, .bashrc파일 :

export PATH="$HOME/.local/bin:$PATH"

그 후 셸을 다시 시작하면 예상대로 작동합니다.


답변

해결책

에 대한 다른 답변을 기반으로 linux하고 mac다음을 실행할 수 있습니다 :

echo "export PATH=\"`python3 -m site --user-base`/bin:$PATH\"" >> ~/.bashrc
source ~/.bashrc

대신 python3: 당신은 파이썬 버전에 다른 링크를 사용할 수 있습니다 python, python2.7, python3.6, python3.9, 등

설명

현재 OS (win, mac, linux)에서 사용자 패키지가 설치된 위치를 알기 위해 다음을 실행합니다.

python3 -m site --user-base

스크립트 bin/는 패키지가 설치된 폴더로 이동한다는 것을 알고 있습니다.

따라서 경로를 연결합니다.

echo `python3 -m site --user-base`/bin

그런 다음 환경 변수로 내 보냅니다.

export PATH=\"`python3 -m site --user-base`/bin:$PATH\""

마지막으로 내보내기 명령을 반복하지 않기 위해 .bashrc파일에 추가 source하고 새로운 변경 사항을 실행 하기 위해 실행하여 처음에 언급 한 제안 된 솔루션을 제공합니다.


답변

Windows에서는 경로에 경로 %USERPROFILE%\AppData\Roaming\Python\Scripts를 추가 해야합니다.


답변

PyPI 패키지를 만들고 성공적으로 빌드하고 게시했지만 설치 후 실행할 수 없었기 때문에이 질문을 우연히 발견했습니다. $PATH변수가 올바르게 설정했다.

내 경우에는 문제는 내가 설정하지 않은 것이 었습니다 entry_point에서 setup.py파일 :

entry_points = {'console_scripts':

['YOUR_CONSOLE_COMMAND=MODULE_NAME.FILE_NAME:FUNCTION_NAME'],},