模块对象没有来自docker容器的属性windll

时间:2019-06-21 08:38:01

标签: python docker ctypes calling-convention

我正在尝试从Windows7上的docker容器中运行python脚本。

python脚本加载DLL库并根据(__stdcall)约定在其中调用一些函数。我在python中使用ctypes来调用函数。当我从python运行脚本时,脚本运行良好,但是从docker容器运行时,它只是给我一个错误。

库的加载

dll = ctypes.WinDLL("c:\\weCat3D\\weCat3D\\EthernetScanner\\EthernetScanner")

泊坞窗容器错误

AttributeError: 'module' object has no attribute 'windll'

我在做什么错了?

2 个答案:

答案 0 :(得分:0)

windll使用所有小写字母。您还可以通过在控制台上使用ctypes来检查windll目录是否具有print (dir(ctypes))。 我检查过,ctypes包含windll。检查一下。如果没有,请升级您的版本。

答案 1 :(得分:0)

我将回到这个问题来回答我的问题。我试图从包含Linux映像或Layer的docker容器系统中调用DLL库。这就是为什么我对DLL库(Windll)的调用约定不起作用的原因。我在.so(Linux版本)中有相同的DLL库,并且现在可以正常工作。