6

Если я загружаю python с веб-сайта Python и пытаюсь установить его с помощью установщика, он устанавливается, но мне нужно указать, что мне нужна новая версия Python при запуске моих программ из терминала. Если я просто наберу:

python app.py

Работает со старой версией.

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

3 ответа3

7

Я наконец нашел, как это сделать. Установщик создал папку python 2.6 в /Application. В этой папке находится скрипт Update Shell Profile.com, и мне просто нужно было его запустить, и теперь он работает.

5

Два вопроса:

  1. Где новый Python был установлен?
  2. Как выглядит ваш $ PATH?

Настройка по умолчанию в Unix-подобных системах заключается в том, что установленное пользователем программное обеспечение устанавливается в /usr /local /bin, и большинство * nix-дистрибутивов помещают этот каталог перед общесистемными каталогами в переменной $ PATH по умолчанию (именно так оболочка знает где искать программы). Таким образом, если вы установите что-то новое, новый элемент будет найден первым.

Тем не менее, по умолчанию OS X $ PATH выглядит так:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Проблема в том, что если вы опоздаете /usr/local/bin так поздно, то общесистемный Python (который находится в /usr/bin и т.д. В вашем $ PATH) продолжает получать удар.

Мой ответ - сделать так, чтобы мой $ PATH выглядел так на Mac:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Для этого создайте файл .profile в вашем домашнем каталоге и добавьте что-то вроде этого:

#### Let's take care of our $PATH
# A backup of the original $PATH
# /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

# My preferred order - /usr/local goes first, damn it!
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin

Изменить: я следую здесь, а не в комментариях, потому что это слишком долго для комментария. Строка в вашем .profile с /sw/bin/init.sh взята из менеджера пакетов Fink, который, я полагаю, вы используете (или использовали в какой-то момент). Другая строка, кажется, предполагает, что в какой-то момент вы установили MacPython, и он переписал ваш $PATH для вас. Я не знаю MacPython, но если это этот сайт, то он не обновлялся с 2004 года. Также не говорится ни о какой версии OS X, кроме 10.3, которая не очень актуальна.

Так что теперь я в замешательстве: когда вы обновили Python? Как вы его обновили? Какую версию OS X вы используете?

-1

Узнайте, где живет питон:

$ which python
/usr/bin/python

Посмотрите, если это символическая ссылка:

$ ls -Fal /usr/bin/python
lrwxr-xr-x  1 root wheel  72 May 19 12:02 /usr/bin/python@ -> ../../System/Library/Frameworks/Python.framework/Versions/2.5/bin/python

Если это так, свяжите /usr /bin /python с новым python:

$ sudo ln -s (new python, maybe /System/Library/Frameworks/Python.framework/Versions/2.x/bin/python) /usr/bin/python

Проверьте, работает ли это:

$ python --version
Python 2.xxx

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