Problem z Homebrew, gdy próbujesz równolegle zainstalować Python 3.x

0

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

rudicangiotti
źródło
Jak wygląda twoja zmienna PATH? Ogólnie rzecz biorąc, Homebrew instaluje się do /usr/local/bin, a to musi pojawić się wcześniej /Library/Frameworks/...w ŚCIEŻCE. brew doctorwyś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.
Dustin Wheeler,
@DustinWheeler, echo $PATHzwraca /Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbinByć może lepiej byłoby odinstalować obecną wersję Pyhton, która się w niej znajduje /Library/Frameworks, i zainstalować ją ponownie za pomocą Homebrew?
rudicangiotti
NIE próbuj usuwać systemowego Pythona (OS X wymaga go do różnych rzeczy, niewiele dobrego wynika z jego usunięcia ...).
Dustin Wheeler,
Nie sądzę, aby wpis Frameworks był domyślnym włączeniem do OS X, więc jest gdzieś dodawany. Sprawdź swoje .bashrc(lub .zshrc, .profilelub jakiekolwiek inne rcpliki, które powłoka pozyskuje podczas uruchamiania), aby znaleźć pozycję podobną do export 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).
Dustin Wheeler,
Przypuszczam, że to samo, ponieważ w ciągu ostatniego listopada pamiętam, że zainstalowałem nową wersję Python 2.x, używając pakietu pobranego z oficjalnej strony. W każdym razie zamierzam sprawdzić zawartość plików, które zasugerowałeś!
rudicangiotti

Odpowiedzi:

0

brew doctorwyrzuca 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 .pcplikami Jacka. Jeśli chcesz je usunąć, możesz usunąć swoją bieżącą instalację i brew 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 wpiszesz pythonw wierszu poleceń, system wykona dowolną wersję Pythona, którą znajdzie najpierw w PATH. 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.xz 2.7. Niezależnie od tego, czy utrzymać tę instalację, można zapewnić, że pythonkieruje się do „Homebrew-ed” wersji, upewniając się, że /usr/local/binwystępuje przed /Library/Frameworks/...w twojej PATH.

Innymi słowy, usuń instrukcję:

PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 
export PATH

z twojego .bash_profilelub zmień pierwszy wiersz na:

PATH="${PATH}:/Library/Frameworks/Python.framework/Versions/2.7/bin" export PATH

Ta druga wersja jest nieco bezużyteczna, ponieważ istnieją dwie wersje Pythona, które zostaną napotkane przed wersją Frameworks (Homebrew jedna /usr/local/bini wersja systemowa /usr/bin). Jeśli jesteś ciekawy, gdzie mieszkają wszystkie twoje wersje Pythona, możesz to sprawdzić za pomocą which -a pythonlisty wszystkich plików binarnych wymienionych pythonw twoim PATH.

Dustin Wheeler
źródło