2010-10-06 136 views
5

我想在我的机器中运行多个Python版本。是否有像Python中的版本管理器,我可以在多个Python版本之间切换,而无需调用Python二进制文件的完整路径?我已经尝试过virtualenv,它似乎只涵盖运行多个python库版本的问题。运行多个python版本

感谢您的帮助。

+1

通常这由您的操作系统shell进行处理。你在使用什么操作系统和/或shell? – 2010-10-06 21:49:35

+0

嗨丹尼尔,我使用Ubuntu和bash。 – 2010-10-06 22:01:25

回答

6

我使用virtualenv来跟踪我需要的项目的不同环境。我可以在一个环境中设置django 1.0,或者在另一个环境中设置django 1.2。你可以用它来设置你想在特定环境中使用的Python版本。以下是该网站的链接,其中包含有关如何运行的示例和教程:http://pypi.python.org/pypi/virtualenv

+0

我喜欢这种方法。没想到这一点。今晚会试一试。 – 2010-10-06 23:43:36

8

从bash调用python时,你可以尝试一个别名。

[email protected]:~$ alias python1234='/usr/bin/python2.5' 
[email protected]:~$ python1234 
Python 2.5.4 (r254:67916, Jan 20 2010, 21:44:03) 
[GCC 4.3.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

比方说,你有以下内容的脚本调用script.py:

import sys 
print sys.version 

因此,启动脚本与不同版本的Python的样子:

[email protected]:~$ python script.py 
2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] 
[email protected]:~$ python1234 script.py 
2.5.4 (r254:67916, Jan 20 2010, 21:44:03) 
[GCC 4.3.3] 
+0

这对于怪异位置(如/opt/my-python2.7/bin/python)中的自编译pythons是有意义的,但我没有看到Ubuntu提供的python2.5的重点,您可以通过它调用它一个简短的名字:'python2.5'。 – 2010-10-06 22:36:13

+0

上面这个在/opt/python2.7中自编译pythons的例子正是我所需要的,所以它对此非常有帮助。 – interpolack 2015-06-25 18:52:01

4

你不必使用完整路径。

[email protected]:$ python2.5 
Python 2.5.5 (r255:77872, Sep 14 2010, 17:16:34) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

[email protected]:$ python2.6 
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

这是否回答你的问题?

+2

此外,如果您只想输入'python'来运行您选择的版本,那么'python'就是'python2.5','python2.6'等的符号链接,所以你可以在'/ usr/bin'中建立一个到这些二进制文件的链接。 – birryree 2010-10-06 22:47:40