запуск питона через порты Mac

2089
Baz

Я установил Python через порты Mac, используя:

sudo port install python33 

Я тогда сделал:

sudo port select --set python python33 

и получил:

Selecting 'python33' for 'python' succeeded. 'python33' is now active. 

Однако, когда я делаю, which pythonя получаю:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python 

и which python3я получаю:

/Library/Frameworks/Python.framework/Versions/3.1/bin/python3 

Что я сделал не так?

Когда я делаю: port select --list python

Я получил:

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

Когда я делаю type -a python, я получаю:

python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /Library/Frameworks/Python.framework/Versions/2.7/bin/python python is /opt/local/bin/python python is /usr/bin/python python is /usr/local/bin/python 

Когда я печатаю: echo $ PATH, я получаю:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.1/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/X11R6/bin 
2

1 ответ на вопрос

1
Mark

который ищет путь к первому найденному питону. порт выбирает изменения / opt / local / bin / python для вызова выбранного питона. Для этого / opt / local / bin должен находиться на пути перед любым другим каталогом, содержащим python.

В вашем случае у вас есть /Library/Frameworks/Python.framework/Versions/2.7/binи /Library/Frameworks/Python.framework/Versions/3.1/binраньше /opt/local/bin.

Вы должны очистить свой путь. Я бы предложил начать с нуля и только добавить каталоги, которые вы знаете и понимаете. Вы, кажется, установили python разными способами, а также установили fink и macports. Я бы использовал только один из менеджеров пакетов и удалил все явные питоны из пути.