如何为当前安装设置符号链接,例如 python -> python2.6?
怎么才能最好地设置一个指向当前安装的符号链接,比如说把 python 指向 python2.6 呢?
我刚通过 Macports 安装了 python2.6,路径是 /opt/local/bin/python2.6,现在我想在 /usr/local/bin/ 这里设置一个叫做 python 的符号链接。接着,我想在我的 Python 脚本开头加上这一行,这样它就知道去哪里找:#!/usr/local/bin/python。但是当我把 Python 升级到 python2.7 的时候,我是不是就得记得去修改这个符号链接?我想我会记得,因为如果不改的话,可能就会出错,对吧?有没有更好的办法呢?
3 个回答
-3
我不太确定在OSX上怎么做,不过在Ubuntu 9.04上,我是这么操作的:
>which python
#/usr/bin/python
只需要把那个文件替换成你想用的Python版本的符号链接就可以了:
>sudo ln -s /usr/bin/python2.6/python /usr/bin/python
2
把你最常用的版本做个快捷方式。
当你需要用其他版本时,可以通过指定版本号来运行,比如:
$ python2.5 dev_appserver.py myapp
4
默认情况下,MacPorts 会把所有东西小心翼翼地安装到一个单独的目录里:/opt/local
。这样做是为了避免和 OS X 系统自带的东西或者其他第三方软件发生冲突。为了确保你通过 MacPorts 安装的程序能被优先找到,推荐的做法是修改你的 shell PATH
,把 /opt/local/bin
放在 /usr/bin
之前。
MacPorts 还提供了一个特别的包,叫做 python_select,用来管理在 /opt/local/bin
中,命令 python
指向哪个版本的 Python。
sudo port install python_select
sudo python_select
然后,为了让你的脚本使用你当前喜欢的 Python 版本,传统的做法是在脚本的开头使用 env
程序 来指定。
#!/usr/bin/env python