2011-04-18 43 views
1

我刚刚在一个提供了python2.4 preinstaleld的Red Hat Linux服务器上安装了Python2.6。 当我输入python时,启动python2.4,输入python2.6正确启动python 2.6。 2.6默认的正确方法是什么?另外这个结果怎么可能:如何在提示符下输入“python”时选择python版本运行?

$ python -V && which python && pwd && ./python -V 
Python 2.4.3 
/usr/local/bin/python 
/usr/local/bin 
Python 2.6.6 
+1

取决于你的分布。请使用该信息更新您的问题。 – Mat 2011-04-18 16:02:23

回答

5

这实际上是一个符号链接。

$ ls -al `which python` 
lrwxrwxrwx 1 root root 9 2010-04-21 12:08 /usr/bin/python -> python2.6 

所以,从2.4到2.6更改默认版本将只是:

cd /usr/bin 
sudo ln -sf `which python2.6` python 
+0

这解决了它,但我仍然没有得到如何运行python -V的冲突结果是可能的。 – user713713 2011-04-18 16:41:03

+0

'。/ python'从你所在的目录运行它,而'python'搜索'$ PATH' – vartec 2011-04-18 16:42:53

+1

他确实运行了'which'来检查PATH中的版本是什么;然而,这是一个外部命令(尝试'键入哪个'),并且无法看到别名。有可能是一个别名,或者在将第二个副本放在/ usr/local之前散列了'python'; 'hash -r'刷新。 – 2011-04-18 20:23:17

3

最简单快捷的方法,是将路径2.6.6版本预先考虑到你的shell PATH变量。这会进入你的.bashrc.profile

假设此路径/opt/foo/bin这将是:

export PATH=/opt/foo/bin:$PATH 

如果不包括新路径中的东西可能带来的副作用,这是快速取胜。

这真的取决于您是否需要将其作为系统范围。

相关问题