加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

创建没有MSVCP90.dll的Python EXE

发布时间:2020-12-13 20:43:38 所属栏目:Windows 来源:网络整理
导读:我正在尝试使用Py2Exe将python程序(使用wxPython)带到Windows exe,但是有关于MSVCP90.dll的错误.在StackOverflow上阅读 py2exe fails to generate an executable之后,它说我需要下载这个文件.但是,它还说所有目标用户都必须下载此文件.这对我的用户(大多数不
我正在尝试使用Py2Exe将python程序(使用wxPython)带到Windows exe,但是有关于MSVCP90.dll的错误.在StackOverflow上阅读 py2exe fails to generate an executable之后,它说我需要下载这个文件.但是,它还说所有目标用户都必须下载此文件.这对我的用户(大多数不知道如何下载文件的公司客户)来说将是一个巨大的不便,所以有没有办法打包程序?

谢谢!

什么是MSVCP90.dll

MSVCP90.dll是多线程,动态Visual Studio 2008 C运行时库.通常,您的应用程序应该打包MSVCP90.dll,除非您确定目标计算机具有匹配的CRT.您可以使用任何打包软件打包必要的DLL和软件并进行分发.

MSVCP90.dll的目的

您可能想知道为什么需要这个奇怪的DLL?好吧CRT对python来说并不新鲜.所有基于C的应用程序都严重依赖于C库函数.标准C库函数的所有实现(例如(malloc,strcpy ..))都在这些库中实现.有不同种类,具体MSDN website有更多细节.

分发MSVCP90.dll

在分发CRT时,您应该了解根据您使用的CRT,后缀为CRT名称的版本号会有所不同.例如,MSVCP90.DLL是Visual Studio 2008中的CRT.单个计算机可以在应用程序安装路径中的系统文件夹中包含多个CRT.

如果您计划打包应用程序,则需要重新验证应用程序使用的CRT版本.包装错误的CRT或使用CRT会导致不希望的和未定义的效果.一般来说,你的Python安装使用的CRT,应该是你应该打包的CRT.

确定正确的MSVCRT

由于存在具有不同版本的不同CRT构建,因此难以确定应该打包哪个CRT.如果您有正在运行的应用程序(可执行文件),则可以使用dependencywalker来确定正确的版本.右键单击任何DLL并单击属性,它将显示从中选择此DLL的位置.

打包您的应用程序

您可以尝试使用PyInstaller打包您的应用程序.这将是一种将DLL放入目标机器的便捷方式.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读