Jak zainstalować określoną wersję Pythona na OS X


Odpowiedzi:


11

Zrobiłem to na dwa sposoby - jednak oba nie współistnieją z homebrew, chociaż podejrzewam, że powinien istnieć sposób podobny do Macporta.

Pierwszym z nich jest użycie Macports jako menedżera pakietów. Istnieją osobne porty dla kilku wersji Pythona 2.xi 3.x obecnie 2.4, 2.5, 2.6, 2.7 i 3.1, 3.2, 3.3 3.4 i 3.5. Na przykład, aby zainstalować 3.4. sudo port install python34Istnieje również port python_select, który pozwala na wybranie wersji pytona uruchamianej przez / opt / bin / python.
Każdy menedżer pakietów musi działać jako jedyny menedżer pakietów, w przeciwnym razie będzie mylony z nieoczekiwanymi różnymi wersjami bibliotek i plików wykonywalnych na swoich ścieżkach.

Innym sposobem jest instalacja bezpośrednio z python.org. Spowoduje to zainstalowanie Pythona w / usr / local / bin. Myślę, że to instaluje plik wykonywalny Pythona i Pythona. Problem z Homebrew polega na tym, że zakłada on, że rzeczy w / usr / local są przez niego instalowane, więc brew doctor zgłosi te pytony i biblioteki python.org jako problemy, a ponieważ to pytanie pokazuje, że frameworki w / Library będą problematyczne.

EDYCJA 8/2018 *** Sugerowałbym teraz użycie conda albo miniconda albo anakonda. Jest to inny menedżer pakietów, ale oparty i przeznaczony głównie dla Pythona, daje także odpowiednik środowisk wirtualnych Pythona i pyenv (zgodnie z inną odpowiedzią ), więc każdy projekt może być w innym Pythonie i różnych bibliotekach (Macports przełącza tylko wersję Pythona na wszystkie projekty)


Łatwo jest dzięki naparowi stackoverflow.com/questions/3987683/...
Raz

1
@Raz, czyli jak zainstalować jeden lub drugi, nie instaluj obu i sklejaj między nimi - albo źle rozumiem odpowiedź - jeśli jest to proste, proszę dać odpowiedź - mam nadzieję, że w prosty sposób
użytkownik151019

@ Mark Musiałem uruchomić mój projekt na konkretnej wersji Pythona, a Google daje tę odpowiedź. Ponieważ brew jest wymieniona w pytaniu, wolałbym zainstalować dodatkową wersję Pythona niż dodatkowego menedżera pakietów. Mój komentarz dotyczył takich pracowników jak ja.
Raz

47

$ brew install python3 jest równa się

$ brew install https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

Więc. jeśli chcesz zainstalować konkretną wersję, musisz to sprawdzić przed instalacją.

  • Sprawdź historię git w python.rb
  • Znajdź odpowiednią wersję. Teraz możesz używać brew installz odpowiednim hashem zatwierdzającym:
    • 3.4.3_2: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rb
    • 3.5.2_3: $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ec545d45d4512ace3570782283df4ecda6bb0044/Formula/python3.rb
    • 3.6.5_1: brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

Istnieje również: https://github.com/sashkab/homebrew-python, gdzie można zainstalować za pomocą brew install sashkab/python/python34ibrew link python34 --force

Pamiętaj, że w pewnym momencie zmieniono nazwę python3.rb na python.rb. W razie potrzeby zmień adres URL.


Jako FYI: Python 3.4.3_2 jest $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rbi python3.4 -Vpowinien działać.
iwasrobbed

@iwasrobbed it's 404: Nie znaleziono w tej chwili
Никита Конин

To nie zainstalowało pip3. :(
Kirby

Niestety strona przeglądarki dla formuły Python 3 nie zostanie wyświetlona. Mówi coś o tym, że historia jest zbyt długa i zbyt długo generuje się na stronie. Kusiło mnie, ale nie sklonowałem całego repo.
Mike Williamson

7
Nazwa pliku python3.rbjest python.rbjuż zmieniona . Wypróbuj inną ścieżkę. Jako FYI: Python 3.6.5_1 to$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
John Pang

36

W przypadku pythona w systemie Mac użyj pyenv

brew install pyenv
pyenv install <version>

Aby wybrać wersję

pyenv local 3.5.0

Aby wyświetlić listę wersji

pyenv versions

https://gist.github.com/Bouke/11261620

Musisz wyeksportować ŚCIEŻKĘ, aby zastąpić domyślną wersję Pythona.

PATH="~/.pyenv/versions/2.7.10/bin:${PATH}"

Używam tego zainstalowanego Pythona 3.6.6rc1, ale brew nadal wskazuje Python3 na 3.7.0. Ponieważ używam Heroku, a Pipfile korzystam z 3.6, używam drugiej odpowiedzi, aby zainstalować 3.6.5 (o ile wiem, 3.6.6 nie jest dostępne w GitHub).
John Pang,

5

Wydaje się, że jest to znacznie łatwiejsze podejście ORAZ trzyma się z dala od / usr / local / bin !!

https://github.com/sashkab/homebrew-python

Nie testowałem tego, ale obiecuje, że będzie w stanie zainstalować dowolną wersję (i wiele wersji) Pythona.

W tym 3.6.6, który nie jest dostępny w rdzeniu parzenia, o ile wiem.


projekt jest przestarzały
lobi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.