Как выбрать: Macports выбрать python
Когда я вхожу:
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.
>>>
Ответы
Ответ 1
Почему это происходит
MacPorts устанавливает двоичные файлы в /opt/local
по умолчанию.
Существует также предустановленный python на вашем Mac. Когда вы просто набираете 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
.
Ответ 2
Используйте
osx$ port select --list python
чтобы просмотреть доступные установки Python.
Затем используйте параметр "--set" для "выбора порта", чтобы установить порт, который вы хотите использовать.
osx$ sudo port select --set python python27
Ответ 3
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
Ответ 4
Ваша оболочка, вероятно, кэширует вызов python
и больше не смотрит в PATH. Поэтому, когда вы вызывали python
до port select
в том же сеансе оболочки, вам нужно очистить этот кеш.
Для bash очистите кеш с помощью
hash -r
или просто откройте новое окно терминала.
Ответ 5
Альтернативой является symlinking каждого двоичного кода 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