Próbuję zainstalować Python v.3.x równolegle z już zainstalowanym Python v.2.7.10. Postępuję zgodnie z procedurą opisaną w tym samouczku, który znalazłem na YouTube. Mimo że nie wydaje się to trudną procedurą, w moim przypadku po uruchomieniu brew doctor
polecenia zwraca:
MacBook-Pro-di-Rodolfo:~ Rodolfo$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config
Warning: Python is installed at /Library/Frameworks/Python.framework
Homebrew only supports building against the System-provided Python or a
brewed Python. In particular, Pythons installed to /Library can interfere
with other software installs.
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected header files:
/usr/local/include/jack/control.h
/usr/local/include/jack/intclient.h
/usr/local/include/jack/jack.h
/usr/local/include/jack/jslist.h
/usr/local/include/jack/metadata.h
/usr/local/include/jack/midiport.h
/usr/local/include/jack/net.h
/usr/local/include/jack/ringbuffer.h
/usr/local/include/jack/session.h
/usr/local/include/jack/statistics.h
/usr/local/include/jack/systemdeps.h
/usr/local/include/jack/thread.h
/usr/local/include/jack/transport.h
/usr/local/include/jack/types.h
/usr/local/include/jack/uuid.h
/usr/local/include/jack/weakjack.h
/usr/local/include/jack/weakmacros.h
Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected .pc files:
/usr/local/lib/pkgconfig/jack.pc
Te ostrzeżenia odnoszą się do dwóch pakietów, które zainstalowałem przed Homebrew, czyli Python v.2.7.10, plus aplikacje względne oraz JACK, API do routingu audio między aplikacjami. Ich instalacja została przeprowadzona za pomocą dwóch zwykłych pobranych plików .pkg. Aby więc uniknąć możliwych przyszłych niezgodności, jak mogę rozwiązać powyższe ostrzeżenia? Czy istnieją alternatywne rozwiązania dla krótkiej procedury odinstalowywania i ponownej instalacji? Jeśli to może być przydatne, używam tych wszystkich aplikacji w systemie OS X 10.9 Mavericks.
/usr/local/bin
, a to musi pojawić się wcześniej/Library/Frameworks/...
w ŚCIEŻCE.brew doctor
wyświetla wiele ostrzeżeń w zależności od konfiguracji systemu, ale tylko dlatego, że ostrzeżenie nie (zawsze) oznacza, że jest problem… lub nawet, że wygenerowane ostrzeżenia są związane z konkretnym problemem.echo $PATH
zwraca/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Być może lepiej byłoby odinstalować obecną wersję Pyhton, która się w niej znajduje/Library/Frameworks
, i zainstalować ją ponownie za pomocą Homebrew?.bashrc
(lub.zshrc
,.profile
lub jakiekolwiek innerc
pliki, które powłoka pozyskuje podczas uruchamiania), aby znaleźć pozycję podobną doexport PATH='/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH'
. Zmień tę linię albo przez usunięcie wpisu szkieletowe lub dołączenie go (zamiast poprzedzenie), tak:export PATH='$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin'
. Mam nadzieję, że to rozwiąże problem (teraz warzone Python znajdzie się przed systemem Python).Odpowiedzi:
brew doctor
wyrzuca możliwe źródła błędów w twojej konfiguracji (zobacz opis niektórych błędów i przyczyn, dla których są one wywoływane na stronie Homebrew Github, tak jak to ). Jeśli nie masz problemów z konfiguracją, zwykle możesz zignorować wiadomości (są one po to, aby pomóc opiekunom Homebrew w rozwiązywaniu problemów, jeśli je masz).Mając to na uwadze, myślę, że możesz zignorować wiadomości związane z plikami nagłówkowymi i
.pc
plikami Jacka. Jeśli chcesz je usunąć, możesz usunąć swoją bieżącą instalację ibrew install jack
, która będzie przechowywać wszystkie te pliki w lokalizacjach zatwierdzonych przez Homebrew.Jeśli chodzi o problemy z Pythonem, wygląda na to, że zainstalowałeś Python z pakietu pobranego z python.org . Spowodowało to modyfikację ŚCIEŻKI (przez ciebie poprzez ich instrukcje lub jako część skryptu instalacyjnego) z linią w twoim
.bash_profile
. Kiedy wpiszeszpython
w wierszu poleceń, system wykona dowolną wersję Pythona, którą znajdzie najpierw wPATH
. W twoim przypadku jest to wersja 2.7 w/Library/Frameworks/
. Można odinstalować tę wersję korzystając z instrukcjami tutaj , zastępując wystąpień3.x
z2.7
. Niezależnie od tego, czy utrzymać tę instalację, można zapewnić, żepython
kieruje się do „Homebrew-ed” wersji, upewniając się, że/usr/local/bin
występuje przed/Library/Frameworks/...
w twojejPATH
.Innymi słowy, usuń instrukcję:
z twojego
.bash_profile
lub zmień pierwszy wiersz na:Ta druga wersja jest nieco bezużyteczna, ponieważ istnieją dwie wersje Pythona, które zostaną napotkane przed wersją Frameworks (Homebrew jedna
/usr/local/bin
i wersja systemowa/usr/bin
). Jeśli jesteś ciekawy, gdzie mieszkają wszystkie twoje wersje Pythona, możesz to sprawdzić za pomocąwhich -a python
listy wszystkich plików binarnych wymienionychpython
w twoimPATH
.źródło