相关疑难解决方法(0)

ImportError:DLL加载失败:%1不是有效的Win32应用程序.但DLL就在那里

我有一个非常像ImportError的情况:DLL加载失败:%1不是一个有效的Win32应用程序,但答案不适合我.

我的Python代码说:

import cv2
Run Code Online (Sandbox Code Playgroud)

但该行抛出了此问题标题中显示的错误.

C:\lib\opencv在这台64位机器上安装了OpenCV .我正在使用64位Python.

我的PYTHONPATH变量:PYTHONPATH=C:\lib\opencv\build\python\2.7.这个文件夹包含cv2.pyd,就是全部.

我的PATH变量:Path=%OPENCV_DIR%\bin;...此文件夹包含39个DLL文件,例如opencv_core246d.dll.

OPENCV_DIR具有此值:OPENCV_DIR=C:\lib\opencv\build\x64\vc11.

ImportError的解决方案:DLL加载失败:%1不是有效的Win32应用程序,说"将新的opencv二进制文件路径(C:\opencv\build\bin\Release)添加到Windows PATH环境变量".但是如上所示,C:\lib\opencv\build\x64\vc11\bin我的PATH中已经有OpenCV二进制文件夹().我的OpenCV安装没有任何Release文件夹(build/java下的空文件夹除外).

关于出了什么问题的任何想法?我可以告诉Python详细跟踪加载过程吗?究竟是什么DLL正在寻找?

谢谢,拉尔斯

编辑:

我只注意到,根据http://www.dependencywalker.com/中,cv2.pydC:\lib\opencv\build\python\2.7为32位,而机器和我跑了Python是64位.这可能是问题吗?如果是这样,我在哪里可以找到64位版本的cv2.pyd?

python dll opencv path

101
推荐指数
5
解决办法
36万
查看次数

Python Ctypes - 加载 dll 引发 OSError: [WinError 193] %1 不是有效的 Win32 应用程序

我试图运行一个使用 ctypes 从库中获取函数的 python 代码示例。可以在此处找到示例。我按照说明进行操作,除了一个小的修改外,我还使用了完全相同的代码。我一直在尝试在 Windows 10(64 位)、python 3.7(64 位)上运行它,但收到此错误消息:

Traceback (most recent call last):
  File "C:/Users/gifr9302/PycharmProjects/testpytoc/myfunc.py", line 128, in <module>
    libmyfunc = npct.load_library('myfunc.dll', os.path.dirname(os.path.abspath(__file__)))
  File "C:\Users\gifr9302\AppData\Local\Programs\Python\Python37\lib\site-packages\numpy\ctypeslib.py", line 152, in load_library
    return ctypes.cdll[libpath]
  File "C:\Users\gifr9302\AppData\Local\Programs\Python\Python37\lib\ctypes\__init__.py", line 431, in __getitem__
    return getattr(self, name)
  File "C:\Users\gifr9302\AppData\Local\Programs\Python\Python37\lib\ctypes\__init__.py", line 426, in __getattr__
    dll = self._dlltype(name)
  File "C:\Users\gifr9302\AppData\Local\Programs\Python\Python37\lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 n’est pas une application Win32 valide
Run Code Online (Sandbox Code Playgroud)

翻译:

OSError: [WinError 193] %1 is not …

c python windows dll ctypes

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

dll ×2

python ×2

c ×1

ctypes ×1

opencv ×1

path ×1

windows ×1