我不确定我理解你的问题,但我会尝试回答。我也假设你使用的是Windows系统。
很简单--只需同时安装两个版本。它们将安装到不同的目录,创建不同的开始菜单文件夹等等。我还建议在2.7版和3.2版中安装PythonWin编辑器的PyWin32模块。
如果你想编写一个适用于Python 2或Python 3的脚本,请参阅http://docs.python.org/library/2to3.html
python
时,它会给我这个错误信息:Fatal Python error: Py_Initialize: unable to load the file system codec File "C:\Python27\lib\encodings\__init__.py", line 123 raise CodecRegistryError,\ ^ SyntaxError: invalid syntax
。显然这是在运行python3,然后由于某种原因它运行了python2的东西并导致了错误。我该如何将它们分开,同时又能够指定python
的位置?就像能够切换一样。 - CMCDragonkaiwget <python download url>
tar xfvz Python-X.Y.Z.tar.gz
cd Python-X.Y.Z
configure --prefix=/path/to/python-x.y.z
make install
你没有指明你所使用的操作系统。我的经验是,在同一台计算机上安装多个Python版本通常不会出现问题。例如,在Ubuntu上,只需安装2.x和3.x软件包(使用sudo apt-get install
或Ubuntu软件中心):
aix@aix:~$ python2.6
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
aix@aix:~$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
我甚至在同一台机器上安装了第三个版本(一个EPD构建):
aix@aix:~$ python2.7
Enthought Python Distribution -- www.enthought.com
Version: 7.0-2 (64-bit)
Python 2.7.1 |EPD 7.0-2 (64-bit)| (r271:86832, Nov 29 2010, 13:51:37)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Python 2对Python 3的某些功能支持有限,但在Python 2. >= 6中可以使用__future__
模块和py2to3进行转换,同时也可以使用py3to2将Python 3转换为Python 2. >= 6(在我看来这种方式非常有限),但对于很大一部分代码而言,它们根本无法正常工作。
随着生成器的引入(使得Python 3中的某些函数调用在2.x中无法正常工作),许多主要框架还没有适配Py3k。比如Django,如果我没记错的话,Hg仍然在Python 2中。
这要看你想做什么。你可以让它们共存,因为3.2是向后兼容的。现在你可以在计算机上安装两个版本:3.2和2.7,但不幸的是,3.2必须在IDLE中使用...唉...安装两个版本,然后根据你想使用哪一个,在IDLE中运行其中一个。
如果你想要更稳定的版本,可以选择2.7(我自己做过不同的选择,但如果你遇到问题,2.7会得到更多支持)。
如果你想要更前沿的东西,可以选择3.2。你选择哪个都可以与几乎所有的东西一起使用。如果不能,再等一个月或两个月,其他人就会跟上。
python
时,我的(Linux)机器运行的是2.4版本,但我也可以只说python2.5
来运行2.5版本。 - user812786