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

PyInstaller打包脚本Fedora运行提示无法加载Crypto.Cipher._raw_ecb如何解决

问题原因

该错误是Fedora环境下PyInstaller未自动识别并打包pycryptodome库的原生二进制.so依赖导致的,Windows环境可正常运行是因为Windows版pycryptodome的二进制dll文件会被PyInstaller正常检索收录。

解决方案

步骤1:修正打包命令语法错误

你当前使用的打包命令存在语法问题,第二个--paths参数的路径末尾和script.py之间缺少空格,先修正为:

pyinstaller --onefile --paths /path/to/venv/lib/python3.9/site-packages \
   --paths /path/to/venv/lib64/python3.9/site-packages script.py

步骤2:显式指定收集Crypto库的二进制文件

PyInstaller默认不会主动收录Crypto相关的原生二进制文件,需要用--collect-binaries参数强制收集:

pyinstaller --onefile --paths /path/to/venv/lib/python3.9/site-packages \
   --paths /path/to/venv/lib64/python3.9/site-packages \
   --collect-binaries Crypto \
   script.py

步骤3:追加隐式导入配置(可选)

如果执行上述命令后仍然报错,可追加--hidden-import参数声明隐式导入的模块:

pyinstaller --onefile --paths /path/to/venv/lib/python3.9/site-packages \
   --paths /path/to/venv/lib64/python3.9/site-packages \
   --collect-binaries Crypto \
   --hidden-import Crypto.Cipher._raw_ecb \
   script.py

步骤4:验证pycryptodome安装状态

确认你的虚拟环境中安装的是官方维护的pycryptodome而非停止维护的旧版pycrypto,避免库本身缺失文件:

pip uninstall pycrypto -y
pip install pycryptodome

重新执行打包命令即可正常生成可执行文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:54:07