Как я могу изменить версию Python по умолчанию на Snow Leopard?

Я недавно обновил свой Mac OS X, 10,5 установок Leopard на 10,6 Snow Leopard, и с этим произошли обновленная версия Python, 2.6.1 (вместо этого если 2.5.1). Теперь, когда я ввожу python в Терминале я все еще добираюсь

Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04) 
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Я заглянул /usr/bin/ и найденный, что для получения Python 2.6 я должен ввести python2.6.

Вопрос: Как я делаю python управлять картой к Python 2.6?

27
задан 04.09.2009, 00:09

3 ответа

Это легко:

defaults write com.apple.versioner.python Version 2.6

Посмотрите man python для полного объяснения от Apple.

Кроме того, один глюк: удостоверьтесь, что Вы запускаете Python, который шел с Вашим компьютером и не некоторым другим тот, которого Вы установили. Сделайте это путем ввода which python в Вашей командной строке. Это должно указать на /usr/bin/python. Я только упоминаю это, потому что мое значение по умолчанию 2.6 под Snow Leopard (это было 2.5, когда я использовал Leopard). Таким образом, то, что Вы добираетесь 2.5, может указать, что существует что-то еще в Вашем пути.

Обновление

Обратиться к комментариям ниже:

Это не делает то, что спрашивают люди.

Это делает для меня в OS X 10.8.2. После выполнения defaults write com.apple.versioner.python Version 2.6, версия по умолчанию Python действительно 2.6. (И аналогично после возврата к 2,7.)

Это верно, работаю ли я python непосредственно, или использование исполняемый сценарий, запускающийся с #!/usr/bin/env python— Я получаю ожидаемую версию Python.

Это не решает символьную ссылку в/System/Library/Frameworks/Python.framework/Versions, где Текущая точка к 2,7, который может вызвать проблемы (потому что это находится все еще в sys.path с 2,6!)

Действительно, это не фиксирует ту символьную ссылку.

Однако запустите короткий скрипт это print()s sys.path и (по крайней мере, на моей относительно установке по умолчанию) 2,6 каталога библиотеки находятся на пути, и эти 2,7 директора не находятся на пути. Ни Current каталог symlinked на пути. Таким образом, это не должна быть проблема для большинства сценариев.

Однако это возможно — не протестировали — что Current символьная ссылка используется также easy_install или pip. Это вызвало бы проблемы. Это уверенный действительно походит на ошибку, что символьная ссылка не обновляется при обновлении версии Python.

21
ответ дан 07.12.2019, 09:28
  • 1
    Вы были правы. Я давным-давно установил MacPython и завинченный моя переменная ПУТИ так python указанный /Library/Frameworks/Python.framework/Versions/Current/bin. Естественно это не стало обновленным до 2,6. Таким образом, я заменил свою переменную ПУТИ по умолчанию, которую я нашел на Google и теперь удалю MacPython из своей системы. – SBSTN 04.09.2009, 13:14

Принятие Вы используете удар, тип:

% type -a python

Это будет показывать Вам всем исполняемые файлы "Python", псевдонимы, окружать builtins (вероятно, ни один) или колотить функции в Вашем ПУТИ.

Это должно помочь Вам лучше определить то, что продолжается здесь.

5
ответ дан 07.12.2019, 09:28

Я предложил бы использовать порты Mac...

Существует пакет, названный python_select, который позволяет использовать Python параллельно. Поэтому первая установка порты Mac, если не уже установленный.

Сначала установите python_select пакет:

sudo port install python_select

Уже теперь можно проверить, какие дистрибутивы Python доступны на Вас система. Просто дайте команду:

port select --list python     (MacPorts 2.x)
python_select -l              (MacPorts 1.x)

В моем случае это распечатало, по крайней мере, версию Python, которая прибывает по умолчанию с Snow Leopard: python26-apple.

port select --show python     (MacPorts 2.x)
python_select -s              (MacPorts 1.x)

показывает в настоящее время выбранную версию, например. python26-apple. Таким образом, Вы видите, этот пакет приятно играет с Mac. Для большего количества проблемы опций

port select                   (MacPorts 2.x)
python_select -h              (MacPorts 1.x)

Чем Вы может искать доступную версию Python в репозитории портов:

port search python

Это произведет длинный список, будет доступные Python.

Для установки желаемых пакетов, например, python 2.4, выполнитесь:

sudo port install python24

Теперь python_select -s покажет недавно установленный Python также. Переключаться на проблему python 2.4:

sudo port select --set python python24  (MacPorts 2.x)
sudo python_select python24             (MacPorts 1.x)

Эта команда является персистентной между оболочками.

12
ответ дан 07.12.2019, 09:28

Теги

Похожие вопросы