Как удалить Python из OSX Leopard, чтобы я мог использовать версию MacPorts? - PullRequest
19 голосов
/ 23 сентября 2008

Я хочу использовать версию Python для Macports вместо той, которая поставляется с Leopard.

Ответы [ 7 ]

29 голосов
/ 23 сентября 2008

Не. Apple поставляет различные системные утилиты, которые полагаются на системный Python (и в частности, сборку Python "framework"); удаление приведет к проблемам.

Вместо этого измените переменную окружения PATH в вашем ~/.bash_profile, чтобы сначала поставить /opt/local/bin.

22 голосов
/ 23 сентября 2008

У меня оба установлены:

$ which python
/usr/bin/python
$ which python2.5
/opt/local/bin/python2.5

Я также добавил следующую строку в мой .profile:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
20 голосов
/ 03 марта 2009

Используйте порт python_select для переключения интерпретаторов Python.

sudo port install python25
sudo port install python_select
sudo python_select python25

Это будет символическая ссылка /opt/local/bin/python на выбранную версию. Затем экспортируйте PATH, как описано выше.

17 голосов
/ 29 мая 2011

python_select устарела, используйте вместо этого:

sudo port select python python26
4 голосов
/ 23 сентября 2008

Вместо удаления встроенного Python, установите версию MacPorts, а затем измените свой $PATH, чтобы сначала иметь версию MacPorts.

Например, если MacPorts устанавливает /usr/local/bin/python, измените ваш .bashrc, добавив в конце PATH=/usr/local/bin:$PATH.

3 голосов
/ 12 апреля 2010

Текущий установщик Macports автоматически выполняет модификацию PATH .profile.

3 голосов
/ 23 сентября 2008

Я бы не стал его удалять, так как многие скрипты ожидают, что python будет в обычных местах, если они не следуют соглашению и не используют #!/usr/bin/env python. Вам просто нужно отредактировать .profile или .bash_profile, чтобы двоичные файлы macports были первыми на вашем пути.

Ваш .profile должен иметь эту строку:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

Если нет, добавьте его, и теперь ваша оболочка будет сначала искать macport bin/ и должна найти python macports перед системным python.

...