在OS X Leopard上使用多个版本的Python

21 投票
4 回答
19283 浏览
提问于 2025-04-15 13:20

我现在在我的Mac上安装了多个版本的Python,包括系统自带的一个、我最近从python.org下载的一个、一个用于本地运行Zope的旧版本,还有一个是Appengine在用的版本。感觉有点乱。你有什么建议可以让我只用一个Python版本吗?我该怎么删除旧版本,并把我所有的应用程序都链接到一个安装的版本上?有没有什么Mac特有的注意事项我需要知道?这样做是个傻主意吗?

4 个回答

2

赞同使用virtualenv。

即使你不需要不同的Python版本,保持你的开发依赖和系统自带的Python分开也是个好主意。

我不太确定你用的是什么操作系统,但我觉得这些说明在Mac上设置Python开发环境时非常有用。

9

Ian Bicking 的 virtualenv 让我们可以为每个应用程序创建独立的 Python 环境,这样就不会互相干扰。同时,它还允许我选择是否在这个独立的 Python 环境中包含全局的库。

我还没在 Zope 上试过这个,但我猜下面的步骤应该能顺利进行:

  1. 用你 Zope 的 Python 创建一个新的 virtualenv,可以选择加上或不加 --no-site-packages 这个选项。
  2. 把你的 Zope 放到这个 virtualenv 里。
  3. 通过运行 $VENV/bin/activate 来激活这个环境。
  4. 安装任何需要的库。
  5. 用现在在 $VENV/bin/python 的 Python 来运行你的 Zope。

这个方法在管理不同版本的 Python、Django 和插件时,对 Django 项目效果非常好。

这篇文章似乎对 Grok 和 Virtualenv 的具体细节讲得更详细,但大体上这些步骤也适用于 Zope。

20

在电脑上有多个版本的Python其实没有什么大问题。有时候这是必须的,特别是当你在用一些对版本有要求的应用程序时。最大的麻烦可能就是不同应用程序对库的依赖关系不一样。像virtualenv这样的工具可以帮助你管理这些问题。不过,有一点你绝对不要做的,就是试图删除系统自带的Python,它通常在/System/Library/Frameworks这个文件夹里,并且在/usr/bin/python这个路径下可以找到。(最近关于多个版本的讨论可以在这里查看。)

撰写回答