Как: Macports выбрать Python - PullRequest
       20

Как: Macports выбрать Python

30 голосов
/ 20 ноября 2011

Когда я ввожу:

port select --list python

Это результат:

Available versions for python:
    none
    python25 (active)
    python25-apple
    python26-apple
    python27
    python27-apple

Я думал, что когда я использую Python, я буду использовать версию 2.5. Вместо этого, когда я ввожу "python", версия 2.7 кажется активной. Как мне изменить это на версию 2.5?

Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ответы [ 5 ]

37 голосов
/ 05 августа 2013

Используйте

osx$ port select --list python

для просмотра списка доступных установок Python.

Затем используйте параметр --set для выбора порта, чтобы установить порт, который вы хотите использовать.

osx$ sudo port select --set python python27
24 голосов
/ 20 ноября 2011

Почему это происходит

MacPorts устанавливает двоичные файлы в /opt/local по умолчанию .

На вашем Mac также есть предустановленный python. Если просто набрать python для запуска, он запустит предустановленную версию Python, не затронутую установкой MacPorts.

Чтобы увидеть, какая версия будет выполняться при вводе только через python, используйте

which python

Чтобы запустить версию портов Mac, используйте

/opt/local/bin/python2.5

Решение

Если вы хотите всегда использовать двоичные файлы MacPorts, вы можете изменить свой путь так, чтобы /opt/local/bin отображался до /use/local/bin и т. Д.

/opt/local/bin и т. Д. Добавлены в ~ / .tcshrc MacPorts. Также не забудьте заглянуть в ~ / .profile и ~ / .bash_profile, так как они по умолчанию для Mac.

Выбор версии в портах

Сначала введите port select --list python, чтобы отобразить установленную версию, затем просто, например, sudo port select --set python python27, чтобы выбрать 2.7. Для получения дополнительной информации введите port help select.

6 голосов
/ 23 ноября 2011

Ваша оболочка, вероятно, кэширует вызов python и больше не смотрит в PATH.Поэтому, когда вы вызывали python до port select в том же сеансе оболочки, вам необходимо очистить этот кеш.

Для bash очистите кэш с помощью

hash -r

или просто откройтеновое окно терминала.

5 голосов
/ 25 августа 2012

Python устанавливает на:

  • По умолчанию (Apple): /usr/local/bin
  • MacPorts: /opt/local/bin
  • python.org: /Library/Frameworks/python ...

По умолчанию Python требуется системой, поэтому лучше не связываться с ним слишком много. MacPorts Python удобен в использовании, потому что получать пакеты так просто.

Вы можете установить ссылку как ярлык:

sudo ln -s /opt/local/bin/python /usr/local/bin/ppython

Затем из командной строки использовать версию MacPorts:

ppython script.py
0 голосов
/ 13 июля 2017

Альтернативой является символическая ссылка на каждый двоичный файл Jupyter, чтобы номер версии не появлялся:

cd /opt/local/bin
JUPYTER_VERSION=2.7
for a in jupyter*$JUPYTER_VERSION; do sudo ln -s $a $(echo $a | sed -e 's:-'$JUPYTER_VERSION':g'); done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...