我承认我对Python很陌生,我还不知道自己在做什么。最近,我使用Python 2.6.2和wxpython2.8创建了一个非常小的Windows应用程序。它工作得很好,我对它的正常工作很满意。通常我的意思是,当我直接通过Python解释器调用它时,如下所示:
> python myapp.py
但是,我想更进一步,将其编译成一个独立的可执行文件。所以我从wxPython wiki中使用py2exe跟踪these instructions。一开始它在命令行中给了我错误,说MSVCR90.dll丢失了。然后我将MSVCR90.dll复制到Python\dll文件夹中。从一开始看起来就像是它修复了它,因为它成功地完成了它需要做的事情。最后一个简短的警告是程序依赖一些DLL文件,我可能需要也可能不需要分发它们。
所以我导航到py2exe创建的dist文件夹并尝试运行我的可执行文件。但试图打开它却弹出了一个错误对话框,上面写着:
This application failed to start because MSVCR90.dll was not found.
Re-installing the application may fix this problem.
所以我继续把MSVCR90.dll复制到这个dist文件夹中。但那没起作用。然后我将其复制到WINDOWS\system32目录中。那也没起作用。我需要做什么才能让这东西工作?
我相信安装Microsoft C++ Redistributable Package将正确安装所需的DLL。
不能只复制msvcr*.dll—它们需要使用并排程序集的规则进行设置。您可以通过安装Sam指出的可再发行包来实现这一点,或者只要遵守规则,就可以将它们放在可执行文件旁边。
见“部署VisualC++库DLL作为私有程序集”的部分:这里{{a1}以获取详细信息,但基本上您的应用程序看起来如下:
这样做的一个好处是非管理员用户可以使用您的应用程序(我相信您需要是管理员才能通过可再发行的安装程序安装运行时)。而且不需要任何安装程序-你只需将文件复制到电脑上,一切正常。
相关问题 更多 >
编程相关推荐