8

Я знаю, что этот вопрос уже задавался ранее на этом сайте, и я нашел пару достойных обсуждений, но решения, которые я нашел и попробовал, не работают. Я хочу изучать Python, и у меня возникают проблемы с его правильной настройкой на моем Mac. Я использую OS X 10.6.7.

Я скачал установщик Python 3.2 с python.org и установил его, который установил в /Library/Frameworks/Python.framework/Versions/3.2/bin . Пока это нормально, так как я могу просто использовать IDLE для разработки. Чтобы использовать 3.2 из командной строки, используя python я попытался изменить порядок $PATH . Вот как выглядит ~/.profile :

PATH=/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Тем не менее, python все еще запускает 2.6.1:

steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ . ./.profile
steven-macbook:~ steven$ python --version
Python 2.6.1
steven-macbook:~ steven$ 

Поработав с этим некоторое время, я решил просто удалить 3.2 и попробовать обновить системную установку Python. Я не уверен, как правильно это сделать, поэтому мне нужно либо заставить 3.2 работать с командной строкой, либо обновить 2.6.1.

4 ответа4

5

Я только что решил эту проблему, установив Python 3.2.2 на свой Mac OS X Lion, поэтому я решил опубликовать, как я это сделал, в надежде, что кто-то может найти это полезным.

Во-первых, я согласен с shadesandcolour в том, что вам не следует изменять копию python по умолчанию, поставляемую с вашим mac, потому что могут быть скрипты, которые могут не работать должным образом при запуске с использованием интерпретатора Python 3.0+. Сказав это, чтобы установить этот последний Python (3.2.2 на момент публикации), вы должны сначала загрузить установщик Python с официального сайта. Установите в соответствии с нормой. Запустите файл «Update Shell Profile.command» в папке /Applications /Python (ver).

После установки python вам нужно отредактировать ваш путь, набрав «sudo nano /etc /paths» в командной строке. Затем введите ваш пароль, когда будет предложено. Затем просто "обрежьте" строку «/usr /local /bin» и "вставьте" ее ДО появления «/usr /bin». Сохраните файл, закройте все открытые терминалы и запустите новый экземпляр терминала. Теперь, когда вы наберете "python" в командной строке, оболочка будет сначала искать в /usr /local /bin и запускать последнюю версию python.

1

Исходя из моего опыта, использование символических ссылок вместе с правильно упорядоченным PATH - это способ сосуществования нескольких версий Python в OS X или любом другом nix, который я могу придумать. OS X немного туповата, но работает так же.

Сначала получите полную картину, выполнив следующие команды:

which python

Затем:

ls -la /usr/bin/python*

и сравните с:

ls -la /usr/local/bin/python*

Посмотрите, куда указывают символические ссылки.

На основании ПУТИ, который вы опубликовали, поскольку /usr /bin идет после /usr /local /bin и других, которые вы, вероятно, используете интерпретатор System python:

/usr/bin/python

Если вы установили python3.0, он, вероятно, будет работать так:

/usr/local/bin/python

Теперь, когда вы знаете, на что указывает и какой интерпретатор загружается из PATH, вы можете внести соответствующие изменения в PATH и / или символические ссылки. Затем вы можете использовать те же методы, чтобы подтвердить правильные изменения.

Для получения более подробной информации об установке Python на macOS смотрите погружение в python3 и farmdev.

0

Возможно, если вы установите Python через MacPorts, он обновит версию системы. Я на самом деле не подозреваю, потому что это кажется мне рискованным. Но вы можете проверить, что делает MacPorts при установке Python вместе с ним.

0

Я задавал этот вопрос кому-то раньше, и мне не рекомендовали менять версию Python по умолчанию, потому что часть операционной системы может зависеть от того, где находится версия 2.7. Тем не менее, это не так много работы, чтобы поместить команду python3 на вашем пути. Это то, что я делаю в данный момент, и это выглядит нормально.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .