pyinstaller 后会出现以下报错,而且exe文件打不开,怎么办?有什么解决办法?请教各位~QAQ
1586 WARNING: lib not found: mkl_rt.1.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\mkl_py_mkl_service.cp39-win_amd64.pyd
1595 WARNING: lib not found: mkl_rt.1.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\mkl_mklinit.cp39-win_amd64.pyd
1605 WARNING: lib not found: mkl_rt.1.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\numpy\core_multiarray_umath.cp39-win_amd64.pyd
1624 WARNING: lib not found: mkl_rt.1.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\numpy\linalg\lapack_lite.cp39-win_amd64.pyd
1665 WARNING: lib not found: mkl_rt.1.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\numpy\linalg_umath_linalg.cp39-win_amd64.pyd
1686 WARNING: lib not found: opencv_wechat_qrcode460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1692 WARNING: lib not found: opencv_barcode460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1698 WARNING: lib not found: opencv_xfeatures2d460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1703 WARNING: lib not found: opencv_ximgproc460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1710 WARNING: lib not found: opencv_calib3d460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1716 WARNING: lib not found: opencv_reg460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1721 WARNING: lib not found: opencv_rapid460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1727 WARNING: lib not found: opencv_photo460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1733 WARNING: lib not found: opencv_videoio460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1738 WARNING: lib not found: opencv_imgproc460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1744 WARNING: lib not found: opencv_line_descriptor460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1750 WARNING: lib not found: opencv_intensity_transform460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1756 WARNING: lib not found: opencv_fuzzy460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1762 WARNING: lib not found: opencv_hdf460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1768 WARNING: lib not found: opencv_dnn_superres460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1774 WARNING: lib not found: opencv_optflow460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1780 WARNING: lib not found: opencv_surface_matching460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1786 WARNING: lib not found: opencv_structured_light460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1792 WARNING: lib not found: opencv_shape460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1797 WARNING: lib not found: opencv_dnn460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1804 WARNING: lib not found: opencv_features2d460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1811 WARNING: lib not found: opencv_img_hash460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1817 WARNING: lib not found: opencv_plot460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1825 WARNING: lib not found: opencv_rgbd460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1831 WARNING: lib not found: opencv_ml460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1837 WARNING: lib not found: opencv_objdetect460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1842 WARNING: lib not found: opencv_bgsegm460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1848 WARNING: lib not found: opencv_hfs460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1854 WARNING: lib not found: opencv_alphamat460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1861 WARNING: lib not found: opencv_flann460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1866 WARNING: lib not found: opencv_video460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1873 WARNING: lib not found: opencv_stereo460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1878 WARNING: lib not found: opencv_xphoto460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1884 WARNING: lib not found: opencv_aruco460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1890 WARNING: lib not found: opencv_imgcodecs460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1896 WARNING: lib not found: opencv_stitching460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1902 WARNING: lib not found: opencv_highgui460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1908 WARNING: lib not found: opencv_core460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1914 WARNING: lib not found: opencv_face460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1920 WARNING: lib not found: opencv_quality460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1926 WARNING: lib not found: opencv_text460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1931 WARNING: lib not found: opencv_ccalib460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1937 WARNING: lib not found: opencv_tracking460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1943 WARNING: lib not found: opencv_saliency460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1948 WARNING: lib not found: opencv_gapi460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1954 WARNING: lib not found: opencv_mcc460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
1960 WARNING: lib not found: opencv_phase_unwrapping460.dll dependency of C:\Users\LYX.conda\envs\py39\lib\site-packages\cv2.cp39-win_amd64.pyd
参考GPT的回答和自己的思路,这个报错提示是因为打包程序时缺失了一些动态链接库(DLL),通常这些DLL是第三方库的依赖项。下面是解决此问题的步骤:
1.确认依赖项:通过报错信息查找缺失的DLL文件。例如,在上面的报错信息中,缺失的DLL文件为“mkl_rt.1.dll”和“opencv_xfeatures2d460.dll”等。如果您使用的是第三方库,也可以查看该库的文档或支持站点,以查找库的依赖项。
2.添加缺失的DLL:将缺失的DLL文件添加到打包的应用程序文件夹中。这可以通过手动复制DLL文件或使用打包工具的“添加文件”选项来完成。如果您使用的是PyInstaller,可以使用以下命令将DLL文件添加到打包文件夹中:
pyinstaller --add-binary "path/to/dll;." your_script.py
请注意,您需要将“path/to/dll”替换为缺失的DLL文件的路径,将“your_script.py”替换为要打包的脚本的名称。该命令将DLL文件添加到打包文件夹的根目录中。
3.添加路径:如果DLL文件位于其他文件夹中,请将其路径添加到系统的PATH环境变量中。这可以通过以下步骤完成:
a. 在Windows操作系统上,右键单击“计算机”或“此电脑”,然后选择“属性”>“高级系统设置”>“环境变量”。
b. 在“系统变量”中找到“PATH”,然后单击“编辑”。
c. 单击“新建”,然后将DLL文件所在的文件夹路径添加到列表中。
d. 单击“确定”关闭所有对话框。
尝试上述步骤后,再次运行打包的应用程序,看看是否能够解决问题。如果问题仍然存在,请尝试重新安装缺失的库,并确保将所有依赖项添加到打包文件夹中。
参考GPT和自己的思路:这些报错通常是由于pyinstaller打包时无法找到一些依赖库而引起的。您可以尝试以下方法解决该问题:
1 手动复制缺失的库到dist目录中。如果您知道哪些库缺失,可以手动复制到dist目录中。
2 手动指定缺失库的路径。可以使用pyinstaller的--path选项将库所在目录的路径添加到打包的搜索路径中。例如:
3 pyinstaller --path C:\Users\LYX.conda\envs\py39\Library\bin your_script.py
4 升级pyinstaller和依赖库。如果您使用的pyinstaller版本过旧,可能会有某些库无法识别,因此请尝试升级pyinstaller和相关库。
使用虚拟环境进行打包。将您的项目放在一个独立的虚拟环境中,这样可以避免打包时出现依赖问题。建议在虚拟环境中重新安装所有依赖项,并使用虚拟环境中的python解释器进行打包。
希望这些方法能够帮助您解决问题。
该回答引用ChatGPT
如有疑问,可以回复我!
这个报错可能是由于 PyInstaller 无法找到某些依赖库。在这种情况下,您需要手动将这些库添加到打包的可执行文件中。以下是解决此问题的一些步骤:
1、检查您的环境变量是否正确设置。确保环境变量包含必要的目录和路径。
2、如果您使用的是 Python 虚拟环境,请确保在您的虚拟环境中安装了所有必要的依赖项,并且这些依赖项可以在虚拟环境中找到。
3、在使用 PyInstaller 打包可执行文件之前,尝试手动导入程序的所有依赖项并运行程序。这将确保所有依赖项都可以正确导入并且没有任何错误。
如果步骤 3 成功运行,则可以尝试使用 PyInstaller 打包程序并将缺少的库手动添加到打包文件中。使用 PyInstaller 的 --add-binary 或 --add-data 参数可以将这些库添加到打包文件中。例如,如果您要添加名为 "mkl_rt.1.dll" 的库,可以使用以下命令:
pyinstaller --add-binary "path/to/mkl_rt.1.dll;." your_program.py
如果您的程序使用的是第三方库(例如 OpenCV),请确保已正确安装这些库,并且这些库可以在您的环境中找到。
最后,您还可以尝试更新 PyInstaller 版本。在某些情况下,这可能会解决问题。
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这些警告都是由于PyInstaller在打包时不能找到特定的库文件所引起的。解决此问题的方法通常是手动将库文件复制到打包的文件夹中。以下是可能有用的解决方案:
conda install pyinstaller
conda install matplotlib pyqtgraph
conda install -c anaconda pandas
conda install -c anaconda pywin32
conda install pyyaml scikit-learn
尝试使用virtualenv或venv等虚拟环境。在创建虚拟环境后,尝试从虚拟环境运行PyInstaller。
手动拷贝丢失的库文件到打包文件夹中。可以使用依赖项检查器(Dependency Walker)等工具检测丢失的库文件,然后手动复制它们到打包文件夹中。
如果您使用的是PyInstaller 3.6或更高版本,请添加--add-binary
参数,以便PyInstaller将库文件复制到打包文件夹中:
pyinstaller <your_script>.py --add-binary='path/to/library.dll;./'
请记住替换path/to/library.dll
为实际的库文件路径。
希望上面的解决方案有助于您解决问题。如果问题仍然存在,请提供更多详细信息,例如您的打包脚本和操作系统版本等。
如果我的回答解决了您的问题,请采纳!