如何在OSX Leopard上卸载Python以便使用MacPorts版本?

19

我想使用MacPorts版本的Python,而不是Leopard自带的版本。


2
您不应该卸载 OS X 中的默认 Python,因为 Python 是重要的操作系统组件,这样做可能会使您的系统不稳定。相反,您可以使用 MacPorts 添加其他 Python 实例。 - sorin
7个回答

29

不要这样做。苹果公司内置了各种依赖于系统Python(特别是Python“框架”构建)的系统实用程序;删除它将导致问题。

相反,修改您的~/.bash_profile中的PATH环境变量,将/opt/local/bin放在第一位。


我认为这也适用于不同的Linux发行版,各种库/软件包/软件安装程序依赖于预先安装的Perl、Python、Ruby解释器,你应该让它们留在那里,通过符号链接绕过它们。 - Gene T

22

我已经安装了两者:

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

我还在我的.profile文件中添加了以下行:

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

新的 /opt/local/bin 下的 Python 应该长成什么样子?我通过 MacPorts 安装了 Python,但它对 /opt/local/bin 中的任何 python* 文件都没有任何影响。它们全部是指向系统 Python 的符号链接。以上情况发生在 Snow Leopard 上。 - thebossman

20
使用 python_select 端口来切换 Python 解释器。
sudo port install python25
sudo port install python_select
sudo python_select python25

这将会把/opt/local/bin/python符号链接到所选的版本。然后按照上述描述导出PATH


17

python_select 现在已经被弃用了,请改用以下方法:

sudo port select python python26

4

不要卸载内置的Python,而是安装MacPorts版本,然后修改$PATH使MacPorts版本排在第一位。

例如,如果MacPorts安装了/usr/local/bin/python,则在.bashrc末尾添加PATH=/usr/local/bin:$PATH


3
当前的Macports安装程序会自动进行.profile路径修改。

3

我不建议卸载Python,因为许多脚本期望Python在通常的位置,如果它们没有遵循惯例并使用#!/usr/bin/env python。你应该简单地编辑你的.profile.bash_profile,使macports二进制文件成为你路径中的第一个。

你的.profile应该有这一行:

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

如果没有这个路径,那么添加它,现在你的shell会先搜索macport的bin/目录,并且应该会在系统python之前找到macports python。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接