py2exe:编蟒蛇的Windows的应用程序将无法运行,因为DLL
题
我承认我非常Python我真的不知道我在做什么呢。我最近创建了一个非常小的Windows的应用程序使用Python2.6.2和wxPython2.8.以及它的伟大工程;我很高兴以及它如何运作正常。通过通常我的意思是当我援引它直接通过Python解释,这样的:
> python myapp.py
但是,我想去一步的步骤和实际汇编成一个独立可执行的文件。所以我跟着 这些指令 从wxPython wiki利用py2exe.在第一次给了我错误的命令行,他说MSVCR90.dll 失踪。然后我复制MSVCR90.dll 我Python\Dll folder.看起来一样它固定的,因为它成功地做了什么,它需要做的。它没有完成一个快速警告说,有一些等文件的程序取决于我可能会或可能不需要,以分发。
所以我驾驶入dist文件夹py2exe了,并试图运行我可执行的。但是,试图打开它只出现了一个错误的话,说:
This application failed to start because MSVCR90.dll was not found.
Re-installing the application may fix this problem.
所以我去了未来和复制MSVCR90.dll 再一次进入这个区的文件夹。但是,这并没有做到。然后我复制到WINDOWS\system32目录。没有这样做。我需要做什么来做得到这件事的工作?
解决方案
你不能只是复制msvcr*.dll-他们需要的设置使用的规则侧组件。你可以通过安装的可再发布软件包作为Sam指出的,或者你可以把它们放一起你可执行文件只要你遵守规则。
看到"部分部署的视觉C++库Dll作为私人组件": 如何部署使用XCopy 对于细节,但基本上您应用程序看起来像这样:
c:\My App\MyApp.exe
c:\My App\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest
c:\My App\Microsoft.VC90.CRT\msvcr90.dll
一个好处是,非管理员用户可以使用的应用程序(我认为你需要一个管理安装运行时间通过的安装可再发).而且也没有任何需要安装的-你可以复制文件的电脑和它的所有工作。