Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python py2exe到exe文件,它可以在我的电脑上运行,但在其他电脑上显示DLL加载失败_Python_Opencv_Py2exe - Fatal编程技术网

Python py2exe到exe文件,它可以在我的电脑上运行,但在其他电脑上显示DLL加载失败

Python py2exe到exe文件,它可以在我的电脑上运行,但在其他电脑上显示DLL加载失败,python,opencv,py2exe,Python,Opencv,Py2exe,我编写了一个gui程序“test.py”,其中包含模块opencv、Tkinter、PIL Numpy和一些内置模块。我使用py2exe为这个程序生成了一个exe文件,这个exe文件在我的电脑上运行得很好,但是当我在其他电脑上尝试时,它给了我一个错误 文件“test.py”,第8行 文件“cv2.pyc”,第12行 文件“cv2.pyc”,第10行,装入 ImportError:DLL加载失败。找不到指定的模块 我的电脑有32位的Python 在“站点包”中的cv2.pyd上使用Dependen

我编写了一个gui程序“test.py”,其中包含模块opencv、Tkinter、PIL Numpy和一些内置模块。我使用py2exe为这个程序生成了一个exe文件,这个exe文件在我的电脑上运行得很好,但是当我在其他电脑上尝试时,它给了我一个错误

文件“test.py”,第8行 文件“cv2.pyc”,第12行 文件“cv2.pyc”,第10行,装入 ImportError:DLL加载失败。找不到指定的模块

我的电脑有32位的Python

  • 在“站点包”中的cv2.pyd上使用Dependency Walker()
  • 请看左上角,图书馆树所在的位置
  • 普通库有蓝色或灰色图标,查找左侧有红色图标的库,如下所示:
  • 找到有红旗的API,并用红色图标记住库的父库名称。红旗表示父库需要一些API,而这些API在底层库中不存在。在我的例子中,带有红色图标的库是“kernel32.dll”,它的父库是msvcr90.dll、tbb.dll和来自“winsxs”的库,其名称不清楚
  • 通常,可以通过获取父库的正确版本来解决问题。例如,您试图在Windows XP上使用为Windows Vista编译的DLL。此DLL导入“InitializeCriticalSectionEx”API,该API在Windows XP的“kernel32.DLL”中不存在。获取DLL的XP版本或使用'InitializeCriticalSection'而不是'Ex'重新编译它将解决此问题。另一个例子:您正在使用OpenCV编译,用于Qt4.8.4和PyQt4,其中包含Qt4.7版。cv2.pyd(顺便说一句,它是一个DLL)将拒绝导入,因为OpenCV中需要的某些Qt API在4.7的DLL中不可用。解决方案是将Qt库版本4.8.4放入“%PYTHONHOME%\Lib\site packages\PyQt4”文件夹或路径中。我自己在从git repo构建自己的OpenCV版本时遇到了这个问题

  • 您可能在代码中使用了另一台电脑上不存在的绝对路径。您的电脑是windows 10还是另一台电脑的windows版本不同?