使用pyInstaller / UPX生成的可执行文件遇到DLL加载失败的情况:参数不正确

问题描述

在虚拟环境中使用pyInstaller / UPX创建的可执行文件会引发错误

DLL load Failed: The parameter is incorrect. while parameter is correct...

我已经使python可以在没有pyInstaller UPX的情况下运行,它的工作250MB很好,而且工作正常。

为减小尺寸,我使用 pyInstaller UPX 创建了另一个python可执行文件(包含相同代码),它给我一个错误,请参考Error_img

代码包含Pandas,Numpy,Openpyxl

之类的库

错误显示在我定义熊猫库的第8行

解决方法

我想出了解决方案,它运行得很好... 需要使用pyinstaller --add-data选项手动添加Pandas和Numpy

const data = { page: 1,limit: 15,categories : ["5f3a495c47c36c8e926fc85d"],}; const search = new URLSearchParams(); for(let key in data) { search.append(key,data[key]); } console.log(search.toString());

pyinstaller --add-data C:\ve\mypython\Lib\site-packages\pandas;pandas --add-data C:\ve\mypython\Lib\site-packages\numpy;numpy --icon=icon_file.ico --version-file version.txt --noconsole --upx-dir=C:\upx --upx-exclude vcruntime140.dll --upx-exclude ucrtbase.dll --onefile Foo.py