PyInstaller.exceptions.PythonLibraryNotFoundError: Python library not found: libpython3.9.so.1.0,

部署运行你感兴趣的模型镜像

用pyinstaller 打包python程序时报错提示:

PyInstaller.exceptions.PythonLibraryNotFoundError: Python library not found: libpython3.9.so.1.0, libpython3.9.so

解决方法:

需要安装 python3.9-dev环境

sudo  apt-get install python3.9-dev

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### PyInstaller运行时出现NotFoundMoudleError的解决方案 PyInstaller在打包Python脚本时,可能会遇到`NotFoundModuleError`错误。这种错误通常是因为某些依赖库未被正确识别或包含到最终的可执行文件中。以下是解决此问题的具体方法: #### 1. 确保环境配置正确 如果使用`pyenv`管理Python版本,则需要确保安装的Python支持框架模式(Framework Mode)。这可以通过以下命令完成: ```bash PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.10.5 ``` 重新安装Python后,需重新安装所有依赖库和包,以避免因路径问题导致的模块缺失[^1]。 #### 2. 检查依赖库是否完整 在运行PyInstaller之前,确保所有依赖库已正确安装。可以通过以下命令检查并重新安装PyInstaller及其依赖项: ```bash pip uninstall pyinstaller pip install pyinstaller ``` 如果存在特定的第三方库(例如`numpy`、`pandas`等),也需要单独确认其安装状态。可以尝试卸载并重新安装这些库,以确保它们能被PyInstaller正确识别。 #### 3. 使用`--hidden-import`参数 当PyInstaller未能自动检测到某些模块时,可以使用`--hidden-import`参数手动指定这些模块。例如,如果脚本中使用了`module_name`但PyInstaller未能识别它,可以在命令中添加: ```bash pyinstaller --hidden-import=module_name -F -w test.py ``` 如果有多个隐藏模块,可以多次使用`--hidden-import`参数,或者将所有模块名写入一个文本文件,并通过`--additional-hooks-dir`参数引入自定义hook文件[^4]。 #### 4. 创建自定义hook文件 对于复杂项目,可以创建自定义hook文件来明确指定需要包含的模块。hook文件应放置在特定目录中,并通过以下命令引用: ```bash pyinstaller --additional-hooks-dir=path/to/hooks -F -w test.py ``` hook文件的内容示例如下: ```python from PyInstaller.utils.hooks import collect_all datas, binaries, hiddenimports = collect_all('your_module') ``` #### 5. 调试与日志分析 运行PyInstaller时,可以启用详细日志输出以帮助定位问题: ```bash pyinstaller --log-level=DEBUG -F -w test.py ``` 通过分析日志,可以找到未正确加载的模块,并采取相应措施。 #### 示例代码 以下是一个完整的PyInstaller命令示例,包含隐藏模块和自定义hook目录: ```bash pyinstaller --hidden-import=module1 --hidden-import=module2 --additional-hooks-dir=path/to/hooks -F -w test.py ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值