4

设置符号链接到当前安装的最佳方式是什么,例如 python -> python2.6?

我刚刚通过 Macports 在 /opt/local/bin/python2.6 安装了 python2.6,我现在想在 /usr/local/bin/ 处设置一个名为 python 的符号链接。然后我希望能够在我的 python 脚本的开头添加这一行,以便它知道在哪里查找:#!/usr/local/bin/python。但是当我将python升级到python2.7时会发生什么,我只需要记住去我的符号链接并更改它吗?我想我会记得,因为它可能不再起作用了?有一个更好的方法吗?

4

3 回答 3

4

默认情况下,MacPorts 会故意小心地将所有内容安装到单独的目录空间中:/opt/local. 这确保了它不会与作为 OS X 或第三方的一部分安装的任何内容发生冲突。为确保首先找到 MacPorts 安装的可执行文件,建议的解决方案是将您的 shell 修改为PATH放在/opt/local/bin./usr/bin

MacPorts 还提供了一个特殊的端口包python_select来管理python./opt/local/bin

sudo port install python_select
sudo python_select

然后,为了让您的脚本使用您当前首选的 python,传统的解决方案是env在脚本的 shebang 行中使用该程序。

#!/usr/bin/env python
于 2009-12-30T21:55:36.510 回答
2

符号链接您最常用的版本。

当您需要另一个版本时,通过指定版本号来运行它,例如:

$ python2.5 dev_appserver.py myapp
于 2009-12-30T20:49:01.637 回答
-3

不确定 OSX,这是我在 Ubuntu 9.04 上所做的:

>which python
#/usr/bin/python

只需将该文件替换为您实际要使用的 Python 版本的符号链接:

>sudo ln -s /usr/bin/python2.6/python /usr/bin/python
于 2009-12-30T20:50:44.863 回答