Як встановити конкретну версію python на OS X


Відповіді:


11

Я робив подібну річ двома способами - однак обидва не співіснують з домашньою мовою, хоча я підозрюю, що має бути спосіб, подібний до макспортних.

Перший - використання Macports як менеджера пакунків. Існують окремі порти для декількох версій python 2.x та 3.x в даний час 2.4, 2.5, 2.6, 2.7 та 3.1, 3.2, 3.3 3.4 та 3.5. Наприклад, щоб встановити 3.4 do sudo port install python34Існує також порт python_select, запускаючи його, ви можете вибрати, яку версію python виконує / opt / bin / python.
Кожен менеджер пакунків повинен запускатись як єдиний менеджер пакунків, інакше він буде плутати з несподіваними різними версіями бібліотек та виконуваних файлів на своїх шляхах.

Інший спосіб - встановити безпосередньо з python.org. Це встановить python в / usr / local / bin. Я думаю, що це встановлює виконуваний файл python та python3. Проблема з Homebrew полягає в тому, що він передбачає, що речі в / usr / local встановлені нею, і тому лікар-пивовар повідомляє про ці пітони і бібліотеки python.org як про проблеми, і як це питання також показує, що рамки в / Бібліотеці будуть проблематичними.

EDIT 8/2018 *** Я б зараз запропонував використовувати conda або miniconda, або anaconda. Це ще один менеджер пакунків, але заснований і головним чином призначений для python, він також дає еквівалент віртуального середовища python та pyenv (відповідно до іншої відповіді ), і тому кожен проект може знаходитися в іншому python та різних бібліотеках (Macports перемикає версію python лише для всі проекти)


Це легко з заварюванням stackoverflow.com/questions/3987683/…
Raz

1
@Raz, це те, як встановити те чи інше, не встановлювати обох і чіпати між ними - інакше я неправильно розумію відповідь - якщо це просто, будь ласка, дайте як відповідь - сподіваюся, на простий спосіб
user151019

@Mark Мені потрібно було запустити мій проект на певній версії python, і Google дає цю відповідь. Оскільки в питанні згадується brew, я вважаю за краще встановити додаткову версію python, ніж додатковий менеджер пакунків. Мій коментар був для таких googlers, як я.
Raz

47

$ brew install python3 дорівнює наступному

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

Так. якщо ви хочете встановити конкретну версію, тоді ви повинні перевірити перед установкою.

  • Перевірте історію git python.rb
  • Знайдіть потрібну версію. Тепер ви можете використовувати brew installз відповідним хешем фіксації:
    • 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

Також є: https://github.com/sashkab/homebrew-python, де можна встановити за допомогою brew install sashkab/python/python34таbrew link python34 --force

Зверніть увагу, що python3.rb в певний момент було перейменовано на python.rb. Змініть URL, якщо необхідно.


Як FYI: Python 3.4.3_2 є $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/bd43f59bd50bb49242259f327cb6ac7a8dd59478/Formula/python3.rbі тоді python3.4 -Vповинен працювати.
iwasrobbed

@iwasrobbed це 404: Не знайдено на даний момент
Никита Конин

Це не встановило pip3. :(
Кірбі

На жаль, сторінка браузера для формули Python 3 не відображатиметься. Це говорить про те, що історія задовга і займає занадто багато часу для створення на сторінці. Я спокусився, але не став, клонував всю репо.
Майк Вільямсон

7
Файл python3.rbперейменовано як python.rbуже. Спробуйте інший шлях. Як FYI: Python 3.6.5_1$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
Джон Панг,

36

Для python в mac використовують pyenv

brew install pyenv
pyenv install <version>

Щоб вибрати версію

pyenv local 3.5.0

До списку версій

pyenv versions

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

Вам потрібно експортувати PATH, щоб замінити стандартну версію python.

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

Я використовую цей встановлений python 3.6.6rc1, але пиво все ще вказує python3 на 3.7.0. Оскільки я використовую Heroku та Pipfile, використовую 3.6, я використовую іншу відповідь, щоб встановити 3.6.5 (наскільки я можу сказати, 3.6.6 не доступний у GitHub).
Джон Панг

5

Це здається набагато простішим підходом І тримається подалі від / usr / local / bin !!

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

Я не перевіряв його, але він обіцяє можливість встановити будь-яку версію (і кілька версій) Python.

У тому числі 3.6.6, який, наскільки я можу, недоступний у серцевині варіння.


проект застарілий
lobi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.