pyinstaller打包使用注意事项

pyinstaller注意事项

为了打包python程序,将其转换为可执行程序方便调用,无论是linux还是windows环境都可以正常使用

环境推荐,python3.11

安装使用

前提条件是安装好了python3

pip install pyistaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装后,检查版本

pyinstaller -v

打包程序,执行后打包程序在当前文件夹下得dist文件夹中

pyinstaller -F test.py

详细参数,基本用不上,懒得整理了

参数名描述
-D文件夹模式,打包生成一个文件夹,包含可执行文件和若干依赖项
-F单文件模式,打包生成一个单独的可执行文件
-h打印帮助信息

报错

写博客是因为报错,傻逼环境,通常安装都没有问题但是,打包得时候报错如下

PyInstaller.exceptions.PythonLibraryNotFoundError: Python library not found: libpython3.11.so, libpython3.11.so.1.0 This means your Python installation does not come with proper shared library files. This usually happens due to missing development package, or unsuitable build parameters of the Python installation.

结果就是找也找不到,搞半天,对应 libpython3.11.so毛都没有,find / -name libpython3.11.so也没用

原因是编译得时候没有这个库,需要重新编译

解决

首先到python压缩包路径下

./configure --prefix=/usr/local/python3 --enable-shared

然后

make && make install

此时可能会报错,Creating directory /usr/local/python3/bin /usr/bin/install: cannot change permissions of ‘/usr/local/python3/bin’: No such file or directory Creating directory /usr/local/python3/lib /usr/bin/install: cannot change permissions of ‘/usr/local/python3/lib’: No such file or directory Makefile:1928: recipe for target ‘altbininstall’ failed

表明在安装过程中,make install 试图在 /usr/local/python3/bin/usr/local/python3/lib 目录下创建文件夹,但是这些目录不存在,或者没有权限。所以手动创建需要的目录:

sudo mkdir -p /usr/local/python3/bin
sudo mkdir -p /usr/local/python3/lib

确保有写入权限

sudo chown -R $(whoami) /usr/local/python3

重新运行安装

make && make install

因为echo “/usr/local/python3/lib/” >> /etc/ld.so.conf没有权限,所以使用 sudo tee 来正确写入系统文件

echo "/usr/local/python3/lib/" | sudo tee -a /etc/ld.so.conf

更新动态链接库配置

sudo ldconfig

这样之后就不会报错了,SB环境

pyinstaller -F test.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值