centos pyinstaller打包exe 在其它Linux服务器上无法运行,出现failed to extarct /usr/lib64/libpython :decompression resulted in return code -1
时间: 2024-03-30 16:35:16 浏览: 59
这个问题可能是由于您的CentOS系统中的依赖库文件与其他Linux系统不兼容导致的。您可以尝试以下解决方法:
1. 确认您的CentOS系统和其他Linux系统中的所有依赖库文件版本相同。您可以使用ldd命令检查可执行文件所依赖的库文件。如果发现依赖库文件版本不同,您可以尝试更新依赖库文件或者重新编译生成可执行文件。
2. 在打包时,您可以尝试使用--add-binary选项将所有的依赖库文件打包到生成的可执行文件中,这样就可以避免在其他Linux系统中缺少依赖库文件而导致无法运行的问题。
3. 您还可以尝试在其他Linux系统上安装与CentOS系统相同版本的Python和依赖库文件,以确保可执行文件能够正常运行。
希望这些解决方法能够帮助您解决问题。
相关问题
Can't locate XML/Simple.pm in @INC (you may need to install the XML::Simple module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ../../../../../../cdk_qcx/tools/usecaseconverter/usecaseconverter.pl line 11. BEGIN failed--compilation aborted at ../../../../../../cdk_qcx/tools/usecaseconverter/usecaseconverter.pl line 11. Makefile:54: recipe for target 'hinstall' failed编译出现以上错误,怎么解决?
这个错误表明在编译过程中找不到 `XML::Simple` 模块。要解决这个问题,您需要安装 `XML::Simple` 模块。
在 Ubuntu 或 Debian 系统上,您可以使用以下命令安装 `XML::Simple` 模块:
```
sudo apt-get install libxml-simple-perl
```
在 CentOS 或 RHEL 系统上,您可以使用以下命令安装 `XML::Simple` 模块:
```
sudo yum install perl-XML-Simple
```
安装完成后,再次运行编译命令,应该就能够解决上述错误了。如果还有其他错误,请提供更多详细信息以便我能够帮助您进一步解决问题。
Traceback (most recent call last): File "/usr/local/python3/bin/pyinstaller", line 8, in <module> sys.exit(_console_script_run()) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 194, in _console_script_run run() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 180, in run run_build(pyi_config, spec_file, **vars(args)) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/__main__.py", line 61, in run_build PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 1019, in main build(specfile, distpath, workpath, clean_build) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 944, in build exec(code, spec_namespace) File "/root/test/2.spec", line 20, in <module> noarchive=False, File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 429, in __init__ self.__postinit__() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/datastruct.py", line 184, in __postinit__ self.assemble() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 764, in assemble self._check_python_library(self.binaries) File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 834, in _check_python_library python_lib = bindepend.get_python_library_path() File "/usr/local/python3/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 1018, in get_python_library_path raise IOError(msg) OSError: Python library not found: libpython3.7mu.so.1.0, libpython3.7.so, libpython3.7m.so.1.0, libpython3.7m.so, libpython3.7.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. * 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 的共享库文件。这可能是由于缺少 Python 开发包或者 Python 安装时的构建参数不正确导致的。
以下是一些可能的解决方法:
1. 确保在 CentOS 上安装了适用于 Python 3.7 的开发包。可以使用以下命令安装:
```shell
yum install python3-dev
```
如果你使用的是 Python 2.x,则可以使用以下命令安装:
```shell
yum install python-dev
```
2. 如果你是自己构建 Python,那么需要重新构建并启用共享库支持。在重新构建时,可以使用 `--enable-shared` 参数(在 macOS 上使用 `--enable-framework`)来启用共享库支持。
请尝试上述方法,如果问题仍然存在,请提供更多关于你的操作系统和 Python 版本的详细信息,以便我能够更好地帮助你解决问题。
阅读全文