You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PyInstaller打包含deep_translator的Python程序时遇模块缺失错误

问题描述

我正在开发一款程序,功能是从电子表格读取数据,结合用户输入生成自定义信件。信件需要保留英文版本并翻译成西班牙语,因此用deep_translator处理翻译。程序在命令行运行正常,但用PyInstaller打包后出现以下错误:

Traceback (most recent call last):
  File "userInterface.py", line 5, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "reportGenerator.py", line 11, in <module>
  File "PyInstaller\loader\pyimod02_importers.py", line 384, in exec_module
  File "letter.py", line 1, in <module>
ModuleNotFoundError: No module named 'deep_translator'
[PYI-30260:ERROR] Failed to execute script 'userInterface' due to unhandled exception!

我最初使用的打包命令如下,也尝试过--collect-all参数和自定义钩子文件,但都没解决问题:

pyinstaller --onefile --hidden-import=openpyxl --hidden-import=docx --hidden-import=deep_translator --add-data "logo.py;." --add-data "student.py;." --add-data "filters.py;." --add-data "settings.py;." userInterface.py
解决方法
  • 把原命令里的--hidden-import=deep_translator替换成--collect-all=deep_translator,强制PyInstaller收集该库的所有文件,完整命令:
pyinstaller --onefile --hidden-import=openpyxl --hidden-import=docx --collect-all=deep_translator --add-data "logo.py;." --add-data "student.py;." --add-data "filters.py;." --add-data "settings.py;." userInterface.py
  • 先通过pip show deep_translator查看库的安装路径,然后用--paths参数告诉PyInstaller该路径,比如:
pyinstaller --onefile --hidden-import=openpyxl --hidden-import=docx --hidden-import=deep_translator --paths="你的deep_translator安装路径" --add-data "logo.py;." --add-data "student.py;." --add-data "filters.py;." --add-data "settings.py;." userInterface.py
  • 手动写钩子文件:在项目根目录新建hook-deep_translator.py,内容如下,打包时加上--additional-hooks-dir=.指定钩子目录:
from PyInstaller.utils.hooks import collect_all

datas, binaries, hiddenimports = collect_all('deep_translator')

修改后的打包命令:

pyinstaller --onefile --hidden-import=openpyxl --hidden-import=docx --additional-hooks-dir=. --add-data "logo.py;." --add-data "student.py;." --add-data "filters.py;." --add-data "settings.py;." userInterface.py
  • 更新PyInstaller和deep_translator到最新版本,再尝试打包:
pip install --upgrade pyinstaller deep_translator

内容的提问来源于stack exchange,提问作者Rattus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:12:44