赞
踩
在CentOS中使用Pyinstaller把python项目编译成可执行文件
出现以下报错信息:
OSError: Python library not found: libpython3.6.so.1.0, libpython3.6mu.so.1.0, libpython3.6m.so.1.0, libpython3.6m.so, libpython3.6.so
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.
* On Debian/Ubuntu, you need to install Python development packages:
* apt-get install python3-dev
* apt-get install python-dev
* If you are building Python by yourself, rebuild with `--enable-shared` (or, `--enable-framework` on macOS).
解决步骤:
在python安装目录执行以下命令
./configure --prefix=/usr/local/python36 --enable-shared --with-ssl
make
make install
执行 pyinstaller -w -F --key=password xxx.py
还是有报错:
python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
查看动态库情况
ldd /usr/local/python36/bin/python3
把需要的.so复制到lib目录
源码目录复制过去
cp libpython3.6m.so.1.0 /usr/lib64/
再次执行 pyinstaller -w -F --key=password xxx.py
编译成功
39705 INFO: Building EXE from EXE-00.toc completed successfully.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。