我对Python很陌生。我刚刚编写了一个程序来检查服务器的上次重新启动时间,并向我们的团队发送电子邮件。我们有30多个服务器,并且不可能在每台服务器上都安装python。因此,我使用cx_freeze创建了一个可执行文件。以下是我的setup.py文件。
,即使DLL在C:\ Windows \ System32中也可用。我发现python可执行文件的build文件夹中缺少DLL。因此,我手动将DLL复制到存在exe的文件夹中,但出现错误-该应用程序无法正确启动(0xc000007b)。单击“确定”关闭该应用程序from cx_Freeze import setup, Executable setup( name = "RebootChecker", version = "1.0", description = "A Script to check the last reboot time of servers", options = { "build_exe": { "include_msvcr": True, "add_to_path": True, } }, executables = [Executable("RebootTester.py", base = "Win32GUI")] )
该exe文件在我的计算机上运行文件,但是当我在服务器上尝试运行该文件时,该文件不起作用。它崩溃并显示错误-“该程序无法启动,因为您的计算机缺少VCRUNTIME.DLL”
[我还试图通过将以下行添加到setup.py文件中来修改build_exe来添加DLL文件,但出现与上述相同的错误。
python_dir = os.path.dirname(sys.executable) "include_files": [os.path.join(python_dir, "vcruntime140.dll")]
我什至尝试修复“ Microsoft C ++可再发行组件”应用程序,但无济于事。
[我在github帖子上看到,这是cx_freeze 5.0.2版上的一个已知问题,即使添加"include_msvcr": True
之后,Visual Studio包也没有添加,但是我使用的是6.1版。
关于SO的其他答案仅提供上述方法作为解决方案,它们对我不起作用。
我该如何使用它?我已经花了几个小时了。感谢您提供任何帮助。
谢谢!
我对Python很陌生。我刚刚编写了一个程序来检查服务器的上次重新启动时间,并向我们的团队发送电子邮件。我们有30多个服务器,并且不可能在每个...
似乎您真正的问题是32位Python在64位Windows下在该计算机上运行。我猜您安装的Microsoft C ++可再发行组件也是64位。