gpt4 book ai didi

python - 加载库: The specified procedure could not be found

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:39 25 4
gpt4 key购买 nike

我需要提取有关 Windows 2003 服务器中系统进程的一些信息(是的,在 2019 年),我用 python 编写了该代码,并使用 auto_py_to_exe 编译它

当我在服务器上运行 .exe 文件时,我收到一条错误消息,指出 “LoadLibrary: 找不到指定的过程。” 引用了 python37.dll

我尝试像一个目录一样编译(包含特定的 dll),我尝试像一个文件一样编译,我得到以下 output .

最佳答案

Python 3.7 和 Win 2003 之间差距太大。正在查看[Python.Wiki]: WindowsCompilers Python 3.7 甚至没有列出(因为它是使用 VStudio 2017 构建的)。那(以及Python本身)将需要/调用Win 2003系统.dll中不存在的函数。

这是一个例子。在下图中,我使用 Dependency Walker 打开了 2 个版本的(2.73.7)主 .dll :

Img0

正如所见,两者都从 kernel32.dll 导入一堆函数。但一个区别是 python37.dll 导入 GetTickCount64。根据[MS.Docs]: GetTickCount64 function ,支持它的最低服务器版本是Win 2008,这意味着它无法在Win 2003中工作.

所以,你必须回到python 2.7(顶部)。几年前,我使用 VStudio 2010 构建了Python 2.7.10,并且它可以在< em>Win 2003(和XP SP 1);这很可能也适用于最新版本(2.7)。

请注意,您还必须安装在脚本中使用的所有软件包(包括 auto-py-to-exe)。

@EDIT0:

我记得(刚刚检查过)我的 XP(SP 3)上有 Python 3.4.3>) PC。因此,Python 3(3.5之前的版本)很有可能也可以在 Win 2003 上运行。

@EDIT1:

最后,我有一些官方声明:关于Python官方页面,将鼠标悬停在“下载”按钮上会产生:

Note that Python 3.5+ cannot be used on Windows XP or earlier.

或者(更清楚):

Img1

请注意,这并不一定意味着旧版本一定可以工作。因此,您需要进行一些测试(我建议在目标计算机上安装 Python 和所需的包,并且只有当一切成功时才打包所有内容)。

@EDIT2:

我提到我已经构建了一个Python2.7版本。 psutil 其中的一部分。

>>> import sys, platform, psutil
>>> sys.version, sys.platform
('2.7.10 (default, Mar 8 2016, 15:08:43) [MSC v.1600 32 bit (Intel)]', 'win32')
>>> platform.platform()
'Windows-XP-5.1.2600-SP3'
>>> psutil.__version__
'3.1.1'

我没有提到我已经从源代码构建了 psutil,但预构建的 .whl 以及 Win 安装程序都可用下载:[PyPI]: psutil 3.1.1 - Download files .

关于python - 加载库: The specified procedure could not be found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54188308/

25 4 0
文章推荐: c# - 无法使用 Excel Power Query : invalid metadata? 连接到 OData v4 服务
文章推荐: css div id 容器无法显示百分比高度和宽度的背景图像
文章推荐: html - 在固定光标上显示整个文本
文章推荐: c# - 如何从异步 Task> 获取 List