我在解释器中运行时使用的是哪个版本的python?

时间:2013-06-13 22:09:16

标签: python bash version

我很难理解当我在解释器中运行时使用哪个python版本? 也就是说,当我有多个版本时,shell如何决定加载哪个python版本。 我有/ usr / bin的快照。它至少有两个不同的python版本2.5和2.6。 我没有在.bashrc中指定任何内容来选择。 当我在bash shell上执行python命令时,python解释器打开,但加载版本2.6。 shell如何检测到这一点? 如果我想更改版本,我该怎么做?也就是说,我想更改默认版本 最后在/ usr / bin / python中有哪些文件。我试图在编辑器中打开它们,我看到一些@@@。我在这里看了很多帖子,但有些让我感到困惑。

ls /usr/bin/python
python            python2.5         python2.6         pythonw           pythonw2.6        
python-config     python2.5-config  python2.6-config  pythonw2.5   

python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

2 个答案:

答案 0 :(得分:2)

要知道默认使用哪个版本,请键入

which python

要使用另一个,请在调用它们时使用完整路径:

/usr/bin/python/python2.5 myfile.py
/usr/bin/python/python2.6 myfile.py
etc.

如果您想更改默认设置,可以在~/.bashrc中创建别名,例如:

my_python='/usr/bin/python/python2.7'

或更好更改/usr/bin/python的链接方向(或来自which python的任何内容)。这是一个链接,因此将其链接到您需要的确切版本。

ln -s /prefered/path/of/python /usr/bin/python

您在/usr/bin/python中看到的文件是可执行文件。您可以执行以下操作来查看此内容:

file /usr/bin/python/python2.5

就我而言:

$ file /usr/bin/python
/usr/bin/python: symbolic link to `python2.7'
$ file /usr/bin/python2.7
/usr/bin/python2.7: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xf66a10f2c444b2329b25ab6790abb7fbb4fe3f78, stripped

答案 1 :(得分:1)

python --version

然后转到你的.bashrc(应该在你的主目录中)并添加:

alias python='[your path]'
对我来说,我有:

alias python='/usr/bin/python2.7'

请确保您说:

source ./bashrc

应用您的更改。