python程序的打包与【多个python的简单共存办法】...
时间:2010-08-10 来源:suofiya2008
因为程序用了 Python26 开发, 26 版 对应的 py2exe 打包的文件在没有部署安装 VC8 的 机器上
有这个提示 “ 由于应用程序配置不正确, 应用程序未能启动。重新安装应用程序可能会纠
正这个问题。“的错误。本以为是缺少什么库,用 Depends 查 看了一下程序的依赖,缺少
”MSVCR80.dll” ,但是奇怪把这个文件拷贝到程序目录下 依然无效。
找了下网上的资料说是把 vc8 需 要的几个库文件也拷贝过来 msvcm80.dll msvcp80.dll msvcr80.dll
Microsoft.VC80.CRT.manifest 。按资料的说法, VC8 编 译的程序需要“在静态库中采用
MFC” 的方式来编译。不知道是不是 py2exe 内 置的编译 VC8 的选项不对。还有个办法是用
vc8 的分发包,那也太大了。
不过好在代码兼容了 2.5 的。 用 2.5 编译不就好了?
看了下 Python 的注册 表位置,已经关联了不少 python26.exe 的东西。还有就是系统环境
变量的 PATH 有 Python26 的 目录。
( 算了,省略过程 …)
直接安装 Python25, 安 装完后,在命令行或者用 ulipad ,可以发现版本号还是 Python26.
说明在 Python26 的基础上,安装 python25 , 原来的 26 并不受影响。
写如下脚本 py26to25.bat
@echo off
set newpath=%path:python26=python25% # 把 环境变量中的 ”Python26” 替换成 ”Python25”
set path=%newpath%
每次需要用 python25 时,在命令 cmd 下 执行这个 bat 。就可以使用 Python25 的 环境了。
关闭命令行的时候,环境变量会恢复成 Python26. 总 体方便了很多。
OK… 把 Python25 版 本的第三方库也一遍安装完,执行打包,发布的版本 exe 多出来了一
个 MSVCR71.dll 。这下,把他们 拷贝到其他机器,再也不需要依赖 VC8 和
DotnetFramework 的困扰了。。。