Как я правильно обновляю Python на Mac OS X

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

python app.py

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

Как делают банку, я установил новую версию по умолчанию?

6
задан 27.06.2012, 00:36

3 ответа

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

7
ответ дан 07.12.2019, 15:44

Два вопроса:

  1. Где новый Python становился установленным?
  2. На что похож Ваш $PATH?

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

Однако $PATH OS X по умолчанию похож на это:

/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 Вы выполняете?

5
ответ дан 07.12.2019, 15:44

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

$ 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
-1
ответ дан 07.12.2019, 15:44

Теги

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