要疯了, pyinstall 打包的 exe,打开总是报错 ModuleNotFoundError: No module named 'jieba'

2025 年 4 月 27 日
 Kyouma1002

几个 AI 都问了一轮,也 Google 过,试了很多种方法,都没解决,崩如溃了,有人能帮帮吗

  1. 用的 windows 虚拟机,全局环境里已经安装了所需的依赖,包括 jieba ,pyinstall 打包 GUI 运行 exe 后,试了 n 次都还是 ModuleNotFoundError: No module named 'jieba'(用虚拟环境时就有这样的问题,才改全局环境,依然有问题)
  2. windows 里只有一个 Python 环境,卸载重装也没用,& "C:\Users\ryanchan\AppData\Local\Programs\Python\Python313\python.exe" -m pip install jieba,完整 python 路径去装也没用
  3. 执行& "C:\Users\ryanchan\AppData\Local\Programs\Python\Python313\python.exe" -m pip show jieba ,都有 jieba 的依赖包信息了,结果 python import jieba 还提示 ModuleNotFoundError: No module named 'jieba',真不知道哪里有问题了,好崩溃
3366 次点击
所在节点    Python
15 条回复
kokutou
2025 年 4 月 27 日
试试 nuitka
Ct5T66PVR1bW7b2z
2025 年 4 月 27 日
--collect-all jieba
cdwyd
2025 年 4 月 28 日
临时解决方案的话可以试试把 jieba 复制一份到项目入口文件同目录下试试
PEax
2025 年 4 月 28 日
nuitka
lsdvincent
2025 年 4 月 28 日
spec 里面 Hiddenmodule 需要加入这个包 pyinstaller 就是需要一点点调试
AllenZ0
2025 年 4 月 28 日
使用 .spec 文件配置打包选项,在 hiddenimports 里添加 jieba 包,hiddenimports = ['jieba', *collect_submodlues('jieba'),....]
tiiis
2025 年 4 月 28 日
--hidden-import jieba
Kyouma1002
2025 年 4 月 28 日
昨晚发现 site-packages 里没有 jieba 的依赖包文件夹,只有元数据文件夹,已经通过手动下载 jieba 依赖包并放置在 site-packages 目录中解决问题了,谢谢各位大佬

## 问题原因分析
你遇到的情况很有趣,你只找到了 jieba-0.42.1.dist-info 文件夹,但没有找到实际的 jieba 模块文件夹。这种情况通常有以下几种可能的原因:

1. 安装方式问题 :

- 有时候使用 pip install jieba 安装时,可能由于网络问题或其他原因导致安装不完整,只创建了元数据文件夹(.dist-info ),但没有正确安装实际的模块文件。
2. 纯 Python 轮子( wheel )安装问题 :

- jieba 是一个纯 Python 库,在某些情况下,安装过程可能将模块内容放在了不同的位置,或者以不同的方式组织文件。
3. Python 版本兼容性 :

- 你使用的是 Python 3.13 ,这是一个相对较新的版本。jieba 可能在这个版本上有一些安装兼容性问题。
4. 虚拟环境混淆 :

- 如果你使用了多个 Python 环境或虚拟环境,可能在一个环境中安装了 jieba ,但在另一个环境中使用它。
5. Windows 和 macOS 环境差异 :

- 你在 macOS 的 Parallels Windows 虚拟机上工作,这种跨平台环境有时会导致一些特殊的安装问题。
elltor
2025 年 4 月 28 日
部署 python 老项目更恶心,python 版本高启动不了,低也启动不了,库之间的依赖....
elltor
2025 年 4 月 28 日
试过了几种编程语言,打包部署还是 go 、java 比较省心,像 python 、node ( js..)这些弱类型语言在程序没有启动之前,你永远不知道会隐藏多少 bug
lts9165
2025 年 4 月 28 日
@elltor 启动了之后,依然隐藏着一堆 bug
sgld
2025 年 4 月 29 日
盲猜虚拟环境问题

你在虚拟环境里面执行
where python

看看用的是全局 python 还是 venv 中的 python

如果是全局的,那么就 .venv/s.../python.exe -m PyInstaller -F ...

大概就这样。之前遇到过,不行的话重装下虚拟环境试试
sgld
2025 年 4 月 29 日
pyinstaller 确实存在一些问题,我内网用的,离线打包基本只能用这个,nuitka 我用不了,没有 wheel

已经撞了一路的包过来了 hhh
wyntalgeer
2025 年 4 月 29 日
@Kyouma1002 @livid #8 AI 污染
yinxs2003
2025 年 6 月 18 日
python 不要打包啊,这是常识呀

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1128508

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX