Zainstalowałem Pythona używając Homebrew i nie mogę wywoływać PIP z bash. Próbowałem zmienić mój plik .bash_profile, aby zawierał / usr / local / bin / python i / usr local / share / python, ale bezskutecznie.
Kiedy używam polecenia bash:
find / -name 'pip'
Jedyne wyniki, które otrzymuję to:
/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
Żaden z nich nie jest plikiem wykonywalnym.
Naprawdę nie wiem, gdzie wskazać moją $ PATH, ponieważ nie mogę znaleźć pliku wykonywalnego pip. Kiedy otworzę
/usr/local/lib/python2.7/site-packages/pip
lub
/usr/local/Cellar/python/2.7.9/libexec/pip/pip
Znajduję następujące pliki:
__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
Żaden z nich nie jest plikiem wykonywalnym.
Byłbym wdzięczny za pomoc każdego, kto ma większe doświadczenie niż ja.
Edycja: Próbowałem kroki sugerowane przez Marco:
Oto wyniki kroków:
echo $ PATH pokazuje kilka katalogów: / 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
która -a zwraca python: / usr / local / bin / python / usr / local / bin / python
nic nie jest zwracane za co - pip
- który python zwraca: / usr / local / bin / python
nic nie jest zwracane dla którego pip
- ls -l $ (który python) zwraca pojedynczy katalog: lrwxr-xr-x 1 Ivan admin 33 17 maja 08:59 / usr / local / bin / python -> ../Cellar/python/2.7.9/bin/ pyton
ls -l $ (który pip) zwraca kilka, w tym pliki python, które pokazałem w moim oryginalnym poście
/usr/bin/python
. To nie jest dobre, ponieważ zaczyna się wiele skryptów Python#!/usr/bin/python
. Jeśli nie ma Pythona, pojawia się komunikat o błędzie podobny do twojego. Służybrew link --dry-run python
do sprawdzania, co zostanie zmienione w linkach podczas korzystaniabrew link --overwrite python
. Uruchomimy twój pip ;-)brew link --overwrite --dry-run python
aby zobaczyć, które pliki zostaną zastąpione.Warning: The post-install step did not complete successfully You can try again using brew postinstall python. I tried the
polecenie brew postinstall python` i doprowadziło mnie to do kilku plików, do których nie miałem dostępu, do których się odrzuciłem. Teraz mogę używać pipa!The post-install step did not complete successfully
spowodowanyerror: could not delete '/usr/local/lib/python2.7/site-packages/pip/__init__.py': Permission denied
. Ręcznie usunięto ten plik, a następnie uruchomiono gobrew postinstall python
ponownie.Jeśli brew zarządza instalacją Pythona, a pip nie jest już symlinkowany (tzn. Wpisujesz „which pip” i nie otrzymujesz żadnych wyników), wypróbuj to z katalogu domowego:
Nie jestem pewien, czy stara metoda już działa (nie działała na moim komputerze).
Teraz potwierdź, że rzeczywiście wskazuje na twoją instalację w wersji 2.7
pip --version
(wyświetli główną wersję Pythona w danych wyjściowych katalogu).źródło
Naprawdę nie jest to odpowiedź na pierwotne pytanie, ale jeśli ktoś tu skończy, ponieważ jego Homebrew
python/pip
nie działa (tj.python
Wskazuje na python systemowy ipip
nie został znaleziony), przyczyną może być niedawna (lato 2017 r.) Zmiana w sposób, w jaki Homebrew instaluje i łączy Pythona.Rozwiązaniem jest dodanie następujących elementów
~/.bash_profile
i / lub~/.zshrc
:export PATH="$(brew --prefix)/opt/python/libexec/bin:$PATH"
Spowoduje to
python
wskazanie na naparową wersję Pythona, a także da cipip
. Aby uzyskać więcej informacji, zobacz sekcję zastrzeżeń podbrew info python
i https://github.com/Homebrew/homebrew-core/issues/15746źródło
Domyślnie Homebrew zapewnia pip poprzez:
brew install python
. Jednak wtedy będziesz mieć dwa Pythony zainstalowane na komputerze Mac, możesz też zainstalować je za pomocą:Aby sprawdzić, które pliki są zainstalowane z pakietem Python, spróbuj:
który powinien składać się
pip
.Po instalacji powinieneś symlinkować zainstalowane pliki formuły przez:
które powinny stworzyć odpowiednie dowiązania symboliczne (takie jak
/usr/local/bin/pip
wskazywanie na twojeCellar/python/2.?.?/bin/pip
)Jeśli masz problem z uprawnieniami, możesz to naprawić:
i upewnij się, że użytkownik jest w grupie administracyjnej (
id -Gn $USER
).Po ustaleniu uprawnień nie używaj
sudo
przy użyciubrew
polecenia.Następnie połącz go ponownie:
Aby przetestować uruchamianie na sucho, odłącz i uruchom:
brew link -n python
aby wyświetlić łącza do plików, którebrew
mogłyby się połączyć.Po pomyślnym połączeniu upewnij się, że zmienna systemowa PATH ma
/usr/local
, jeśli nie, dodaj:do twojego
~/.bashrc
pliku.Jeśli się powiedzie,
pip
powinieneś teraz pracować.źródło
/usr/bin/python
zainstalowanego (co zwykle powinno być dostarczane z OS X). Spróbuj więc zgodnie z sugestią, czyli:brew install python && brew link python
a następnie dodaj/usr/local/bin
do swojegoPATH
.brew install python && brew link python
wstawiał Pythona/usr/bin
. Widzę tousr/local/bin
, ale nie widzę dowiązania symbolicznego do pip. Odłączyłem i powiązałem również pytona i nic się nie zmienia. Wygląda na to, że instalacja i link do browaru nie układają rzeczy webrew
nic nie robi/usr/bin
, ale/usr/local/bin
. Spróbuj:brew unlink python
i uruchom na sucho:brew link -n python
aby wyświetlić listę wszystkich plików, które powinny być połączone, i sprawdź, czypip
są dostępne. Jeśli tak, uruchom ponownie bez-n
.