hombrew python 2.7 설치에서 작동하지 않는 pip


15

homebrew를 사용하여 Python을 설치했으며 bash에서 pip를 호출 할 수 없습니다. / usr / local / bin / python 및 / usr local / share / python을 포함하도록 .bash_profile을 수정하려고했지만 아무 소용이 없습니다.

bash 명령을 사용할 때 :

find / -name 'pip'

내가 얻는 유일한 결과는 다음과 같습니다.

/Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip
/Users/Ivan/Library/Caches/pip
/Users/Ivan/Library/Logs/pip
/usr/local/Cellar/python/2.7.9/libexec/pip
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
/usr/local/lib/python2.7/site-packages/pip

어느 것도 실행 파일이 아닙니다.

pip 실행 파일을 찾을 수 없으므로 $ PATH를 가리킬 위치를 실제로 모릅니다. 내가 열면

/usr/local/lib/python2.7/site-packages/pip

또는

/usr/local/Cellar/python/2.7.9/libexec/pip/pip

다음 파일을 찾습니다.

__init__.py         commands            operations
__init__.pyc        compat              pep425tags.py
__main__.py         download.py         pep425tags.pyc
__main__.pyc        download.pyc        req
_vendor             exceptions.py       status_codes.py
basecommand.py      exceptions.pyc      status_codes.pyc
basecommand.pyc     index.py            utils
baseparser.py       index.pyc           vcs
baseparser.pyc      locations.py        wheel.py
cmdoptions.py       locations.pyc       wheel.pyc
cmdoptions.pyc      models

어느 것도 실행 파일이 아닙니다.

나보다 더 많은 경험을 가진 사람의 도움에 감사드립니다.

편집 : Marco가 제안한 단계를 시도했습니다.

단계 결과는 다음과 같습니다.

  1. echo $ PATH는 / usr / local / bin : / usr / local / mysql / bin : / usr / bin : / bin : / usr / sbin : / sbin : / usr / local / bin : / usr / 디렉토리를 보여줍니다. texbin : / opt / X11 / bin : / usr / local / mysql / bin

  2. -a 파이썬은 / usr / local / bin / python / usr / local / bin / python을 반환합니다.

pip에 대해 아무것도 반환되지 않습니다.

  1. 어떤 파이썬이 반환 : / usr / local / bin / python

어떤 핍에 대해서는 아무것도 반환되지 않습니다

  1. ls -l $ (python)은 단일 디렉토리를 반환합니다. lrwxr-xr-x 1 Ivan admin 33 17 May 08:59 / usr / local / bin / python-> ../Cellar/python/2.7.9/bin/ 파이썬

ls -l $ (which pip)는 원래 게시물에 표시된 파이썬 파일을 포함하여 여러 항목을 반환합니다.

답변:


19

일반적으로, homebrew를 설치합니다 formula으로 /usr/local/Cellar/formula다음에 링크를 배치합니다 /usr/local/bin/formula.

설치된 공식을 사용하려면에 있어야 /usr/local/bin합니다 $PATH. $PATH입력하여 보여주세요

echo $PATH

경우 /usr/local/bin사용자가 아닌 $PATH, 당신의 말에이 줄을 넣어 ~/.profile파일.

export PATH="/usr/local/bin:$PATH"

이제 pythons다음을 입력하여 OSX에서 발견 된 내용을 확인하십시오 .

which -a python

한 파이썬에서 확인이 있어야한다 /usr/bin/(애플 파이썬)와 하나 /usr/local/bin/되는 브루 파이썬입니다.

which python

어떤 파이썬이 먼저 발견되어 $PATH 호출 할 때 실행됩니다 python.

실행 파일의 위치를 ​​알고 싶다면 다음을 입력하여 표시하십시오.

ls -l $(which python)

lrwxr-xr-x 1 루트 휠 68 7 Mai 13:22 python-> / usr / local / bin / python

이것은 pip잘 작동 합니다.

이 단계의 결과를 보여 주면 훨씬 쉽게 도움을 줄 수 있습니다.

-업데이트-

/usr/local/bin/python연결했습니다 /usr/local/Cellar/python/2.7.9/bin/python. -> brew install python일했다.

다음 pip을 입력하여 설치된 경우 표시

brew list python | grep pip

넌 봐야 해

/usr/local/Cellar/python/2.7.9/bin/pip

그렇지 않은 경우 링크가 없는지 확인하십시오 brew install. 다음과 같이 말하십시오 :

"Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local"

링크를 강제 실행하고 충돌하는 모든 파일을 덮어 쓰려면 :

brew link --overwrite python

삭제 될 모든 파일을 나열하려면 다음을 수행하십시오.

brew link --overwrite --dry-run python

** 표준 사과 없음 /usr/bin/python**

에서 링크 /usr/local/Cellar/python/2.7.9/bin/python/usr/bin/python

ln -s /usr/local/Cellar/python/2.7.9/bin/python /usr/bin/python

이것은로 시작하는 모든 파이썬 스크립트에 필요합니다 #!/usr/bin/python. easy_install링크가 없으면 전문가 가 실패합니다.

이제 당신은 실행할 수 있습니다

easy_install pip

희망, 당신은 진보하고 있습니다


마르코, 답변 주셔서 감사합니다! 단계에 대한 결과에 대한 내 원래의 질문을 참조하십시오-추가했습니다
YoungPadawan

@YoungPadawan은 Apple 표준이없는 것처럼 보입니다 /usr/bin/python. 많은 Python 스크립트가로 시작하기 때문에 이것은 좋지 않습니다 #!/usr/bin/python. 파이썬이 없다면, 당신과 같은 오류 메시지가 나타납니다. 를 사용할 brew link --dry-run python때 링크로 변경되는 내용을 확인하는 데 사용하십시오 brew link --overwrite python. 우리는 당신의 핍을 실행할 것입니다 ;-)
Marco M. von Hagen

brew link --overwrite --dry-run python덮어 쓸 파일을 확인 하는 데 사용 합니다.
Marco M. von Hagen

1
올바른 길로 안내했기 때문에 귀하의 답변을 확인했지만 결국 권한 문제였습니다. 설치 후 Warning: The post-install step did not complete successfully You can try again using brew postinstall python. I tried the brew postinstall python` 명령을 얻었고 내가 접근 한 적이없는 몇 가지 파일이 나왔습니다. 이제 핍을 사용할 수 있습니다! 다시 감사합니다
YoungPadawan

1
내 경우에는 문제가 The post-install step did not complete successfully발생했습니다 error: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied. 해당 파일을 수동으로 삭제 한 다음 brew postinstall python다시 실행 하여 수정했습니다.
David Pursehouse

5

brew가 파이썬 설치를 관리하고 pip가 더 이상 심볼릭 링크되지 않으면 (즉, "pip"를 입력하고 결과를 얻지 못함) 홈 디렉토리에서 다음을 시도하십시오.

brew unlink python && brew link python

이전 방법이 더 이상 작동하는지 확실하지 않습니다 (내 컴퓨터에는 없었습니다).

이제 2.7 설치를 가리키는 지 확인하십시오 pip --version(디렉토리 출력에 파이썬 주요 버전이 나열됩니다).


4

원래 질문에 대한 대답은 아니지만 Homebrew가 설치 python/pip되어 더 이상 작동하지 않기 때문에 누군가가 여기에 있다면 (즉 python, 시스템 파이썬을 가리키고 pip찾을 수 없음) 그 이유는 최근에 (2017 년 여름) 변경되었을 수 있습니다. Homebrew가 파이썬을 설치하고 연결하는 방법.

해결책은 다음에 ~/.bash_profile및 / 또는 다음을 추가하는 것입니다 ~/.zshrc.

export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"

이것은 pythonbrew 버전의 python 을 가리키고 또한 당신에게 줄 것이다 pip. 자세한 내용은 아래의 경고 섹션 brew info pythonhttps://github.com/Homebrew/homebrew-core/issues/15746 을 참조하십시오.


2

기본적으로 Homebrew는 다음을 통해 pip를 제공합니다 brew install python. 그러나 Mac에 두 개의 Python을 설치하면 다음을 통해 다른 방법으로 설치할 수 있습니다.

sudo easy_install pip

Python 패키지와 함께 설치된 파일을 확인하려면 다음을 시도하십시오.

$ brew list python
/usr/local/Cellar/python/2.7.9/bin/pip
/usr/local/Cellar/python/2.7.9/bin/pip2
/usr/local/Cellar/python/2.7.9/bin/pip2.7
...

구성해야합니다 pip.

설치 후 다음 방법으로 공식의 설치된 파일을 심볼릭 링크해야합니다.

brew link python

(예 : 우측 심볼릭 링크를 생성해야하는 /usr/local/bin/pip사용자를 가리키는를 Cellar/python/2.?.?/bin/pip)

권한 문제가있는 경우 다음을 통해 문제를 해결할 수 있습니다.

sudo chgrp -R admin /usr/local /Library/Caches/Homebrew
sudo chmod -R g+w /usr/local /Library/Caches/Homebrew

사용자가 관리자 그룹 ( id -Gn $USER) 에 있는지 확인하십시오 .

권한을 수정 한 후 명령을 사용할 sudo때는 사용 하지 마십시오 brew.

그런 다음 다시 연결하십시오.

brew unlink python && brew link python

드라 이런을 테스트하려면 brew link -n python링크를 해제하고 실행 하십시오. 링크 할 파일의 링크를 확인하십시오 brew.

연결에 성공하면 PATH 시스템 변수에 다음이 없는지 확인하십시오 /usr/local.

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

당신에 ~/.bashrc파일.

성공하면 pip지금 일해야합니다.


답변 kenorb 주셔서 감사합니다! 문제의 일부는 easy_install이 나에게도 작동하지 않는다는 것입니다. 배쉬에서 나는 얻을 : -bash :는 / usr / 빈 / easy_install을 : / usr / bin / python을 : 나쁜 통역 : 없음 같은 파일이 없습니다 또는 디렉토리
YoungPadawan

즉, /usr/bin/python설치 하지 않았 음을 의미합니다 (일반적으로 OS X와 ​​함께 제공되어야 함). 따라서 제안 된대로 시도하십시오 : brew install python && brew link python,에 추가 /usr/local/bin하십시오 PATH.
kenorb

나는 그것이 brew install python && brew link python파이썬을 넣는 것이라고 생각하지 않는다 /usr/bin. 에서 볼 수 usr/local/bin있지만 pip에 대한 심볼릭 링크가 표시되지 않습니다. 파이썬을 연결 해제하고 연결했는데 아무런 변화가 없습니다. 양조장 설치 및 링크가 원하는 곳에 두지 않는 것 같습니다
YoungPadawan

@YoungPadawan은와 brew아무 관련이 /usr/bin없지만 /usr/local/bin. 시도 : brew unlink python및 드라이 런 : brew link -n python링크 해야하는 모든 파일을 나열하고 있는지 확인하십시오 pip. 그렇다면,없이 다시 실행하십시오 -n.
kenorb

감사합니다 Kenorb, 해결책을 찾았습니다. 결국 권한 때문에 설치에 결함이있었습니다. 추출 된 일부 파일에 대한 권한을 수정하고 설치를 다시 실행 한 후 모든 것이 올바르게 작동합니다. 위의 질문에 대한 의견에는 더 자세한 내용이 있습니다. 귀하의 답변에 다시 한 번 감사드립니다. 솔루션을 얻는 데 정말 도움이되었습니다.
YoungPadawan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.