PyInstaller打包Python3.6与PyQt5常见错误排查与解决指南

闻溪
闻溪
发布时间:2026-10-15| 3人浏览过
原创

本文汇总了使用PyInstaller打包Python3.6及PyQt5程序时遇到的典型错误。针对api-ms-win-crt系列DLL缺失警告,建议将Anaconda目录下的相关文件复制到Python安装目录。对于打包后运行出现“failed to execute script”且控制台无输出的问题,可通过添加-c参数查看具体报错,若涉及PyQt5.sip模块缺失,需在打包命令中使用--hidden-import显式指定。

前言:

近期在进行单片机开发学习时,需要编写串口通信的上位机程序。作者选用PyQt5结合serial模块实现该功能,在PyCharm环境中测试运行正常,但使用PyInstaller进行打包时遭遇诸多报错。经过查阅大量资料,现将相关问题的解决方案整理如下。

1. WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency

2999 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\python.exe

3031 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\python.exe

3218 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll

3312 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\python\VCRUNTIME140.dll

6494 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\python\DLLs_hashlib.pyd

7271 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\python\DLLs\unicodedata.pyd

上述警告表明Python安装目录下缺少相关的DLL文件。若本地Anaconda环境中存在这些文件,可尝试将其直接复制至Python安装目录,通常即可解决该问题。

考虑到部分用户可能未安装Anaconda,作者已将所需文件打包供下载。

点击这里下载

2. 打包完成后运行时出现 "fail to excute script"

此类问题往往难以直接定位,原因可能多种多样。

在使用PyInstaller打包Python程序时,常用的打包命令如下:

pyinstaller -F -w -i manage.ico yourpyfile.py

以下简要说明几个关键参数的作用:

  • -F:指定生成单一的exe文件,不附带其他依赖文件。

-c:指定生成的exe文件以控制台模式打开。

  • -w:与-c参数对应,适用于带有UI界面的程序。使用此参数可隐藏控制台窗口,直接显示UI界面。

  • -I:为生成的exe文件添加自定义图标,需紧跟ico文件路径。

  • -p:指定模块搜索路径。若PyInstaller未能自动检测到模块安装路径,需通过此参数手动指定。

出现“failed to excute script xxx”

该错误提示意味着程序无法执行,具体原因复杂。若使用-w参数打包,由于隐藏了控制台,难以直接观察错误根源。因此,建议改用-c参数打包exe,以便在控制台查看具体的error输出内容。

在cmd中运行打包生成的exe文件

报错信息显示为:no modle named "PyQt5.sip"

实际上,tensorflow包已被导入且能被PyInstaller识别。然而,报错提示找不到tensorflow.contrib模块。

推测可能与版本有关,因为tensorflow更新后移除了部分功能,且某些模块的实现方式和名称已发生改变。

尽管根本原因尚未完全查明,但为了快速解决问题,可采取以下临时措施。

具体操作如下:

pyinstaller -F -I manage.ico yourpyfile.py --hidden-import PyQt5.sip

通过这种方式打包,直接屏蔽了该子包的导入。由于项目中并未实际使用此模块,因此可以忽略该报错。

至此,所有遇到的问题均得到解决。

总结

本文介绍了关于PyInstaller打包Python3.6和PyQt5过程中常见错误的解决方法。如需了解更多PyInstaller打包Python3.6及PyQt5的相关内容,请搜索本站历史文章或继续阅读后续文章。感谢大家的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。