今天关于多个Python版本和谐同存的实践经验

 由于新浪SAE使用的环境是Python2.6.7+Django1.2.7,而我的电脑使用的环境是Python2.5+Django1.2.7,为了完成今年下半年在SAE上部署一个个人博客的任务,我决定首先把开发环境搭建完毕。显然,我需要安装一个更高版本的Python。我在Python2.6.6Python2.7.2中纠结了很久。我主要是担心如果安装Python2.7,可能很多常用的模块不支持或者支持不好。思虑良久之后,终于下定决心安装Python2.7。费了很长的一段时间后,我居然把之前所用到的模块全部装齐了!以前写的脚本也都可以正常运行,用Py2exe打包成EXE后也正常。看来目前Python2.7的兼容性是很棒的了。

        一不做二不休,既然已经安装了多个版本的Python,索性把Python3.2也装上。毕竟Python3对中文的支持非常好,不用再浪费精力捣鼓编码的问题,即便支持的模块不如Python2丰富,但对于写一些自用小脚本,显然更方便。

        但是这么多版本同存,怎么在这些版本之间灵活更换就成了一个麻烦的问题,于是我开始着手解决。

        首先我明确了,我以后将主要使用Python2.7,其次是Python3.2,那么当直接双节Python脚本时,应使用Python2.7执行。于是我修改注册表,将项:HKEY_CLASSES_ROOT\Python.File\shell\open\command的默认值修改为"D:\Python27\python.exe" "%1" %*(D:\Python27是我的Python2.7安装路径),同时将D:\Python27\和D:\Python27\Scripts\添加到环境变量中。

        当我的脚本需要使用Python3.2时,则通过鼠标右键选择执行。我在注册表中添加如下项:HKEY_CLASSES_ROOT\Python.File\shell\通过Python3.2运行\command 设置默认值为"D:\Python32\python.exe" "%1" %*。同时在D:\Python27\中新建一个python32.bat的文件,内容为:

 

 

1 echo off
2 D:\Python32\python.exe %*

 

 

        这样如果我在命令提示符下,输入python32就可以运行Python3.2了。另外虽然我只打算用Python3写一些几行的小脚本,但兴许也是需要打包EXE发布出去的,所以我安装了cx_freeze2.4.3。因为目前似乎只有这个模块支持打包Python3写的脚本了。为了使用方便,我在D:\Python27\Scripts\目录中新建了一个cxfreeze32.bat,内容为:

 

1 echo off
2 D:\Python32\python.exe D:\Python32\Scripts\cxfreeze %*

 

 

        这样就可以方便的在命令提示符下通过cxfreeze打包了。当然Python2.5也照以上方法处理就可以完美兼容了。

http://my.oschina.net/zhajiang/blog/50805

你可能感兴趣的:(python)