本文主要是介绍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
这篇关于pyinstaller打包使用注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!