执行 /home/admin/env/acq-cluster-data-init/bin/pip install backports.lzma报错
服务器运行带有pandas的脚本报如下错误
/home/admin/env/acq-cluster-data-init/lib/python3.6/site-packages/pandas/compat/__init__.py:120: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.
首先进行缺失的包安装
[root@acq-53 ~]# /home/admin/env/acq-cluster-data-init/bin/pip install backports.lzma
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Collecting backports.lzma
Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/21/0f/1a9990233076d48aa2084100ba289ca162975e73a688f3a56c0ee2bb441a/backports.lzma-0.0.14.tar.gz (47 kB)
|████████████████████████████████| 47 kB 20.6 MB/s
Building wheels for collected packages: backports.lzma
Building wheel for backports.lzma (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/admin/env/acq-cluster-data-init/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-7tp7iqs4
cwd: /tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/
Complete output (21 lines):
This is backports.lzma version 0.0.14
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/backports
copying backports/__init__.py -> build/lib.linux-x86_64-3.6/backports
creating build/lib.linux-x86_64-3.6/backports/lzma
copying backports/lzma/__init__.py -> build/lib.linux-x86_64-3.6/backports/lzma
running build_ext
building 'backports.lzma._lzma' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/backports
creating build/temp.linux-x86_64-3.6/backports/lzma
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/admin/env/acq-cluster-data-init/include -I/root/include -I/opt/local/include -I/usr/local/include -I/home/admin/env/acq-cluster-data-init/include -I/usr/local/python36/include/python3.6m -c backports/lzma/_lzmamodule.c -o build/temp.linux-x86_64-3.6/backports/lzma/_lzmamodule.o
backports/lzma/_lzmamodule.c:115:18: fatal error: lzma.h: No such file or directory
#include <lzma.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for backports.lzma
Running setup.py clean for backports.lzma
Failed to build backports.lzma
Installing collected packages: backports.lzma
Running setup.py install for backports.lzma ... error
ERROR: Command errored out with exit status 1:
command: /home/admin/env/acq-cluster-data-init/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-87t4c5gg/install-record.txt --single-version-externally-managed --compile --install-headers /home/admin/env/acq-cluster-data-init/include/site/python3.6/backports.lzma
cwd: /tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/
Complete output (21 lines):
This is backports.lzma version 0.0.14
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/backports
copying backports/__init__.py -> build/lib.linux-x86_64-3.6/backports
creating build/lib.linux-x86_64-3.6/backports/lzma
copying backports/lzma/__init__.py -> build/lib.linux-x86_64-3.6/backports/lzma
running build_ext
building 'backports.lzma._lzma' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/backports
creating build/temp.linux-x86_64-3.6/backports/lzma
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/admin/env/acq-cluster-data-init/include -I/root/include -I/opt/local/include -I/usr/local/include -I/home/admin/env/acq-cluster-data-init/include -I/usr/local/python36/include/python3.6m -c backports/lzma/_lzmamodule.c -o build/temp.linux-x86_64-3.6/backports/lzma/_lzmamodule.o
backports/lzma/_lzmamodule.c:115:18: fatal error: lzma.h: No such file or directory
#include <lzma.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/admin/env/acq-cluster-data-init/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-6zr1bssr/backports-lzma_a82f64b852d94c35ad0b2a6a973ef18e/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-87t4c5gg/install-record.txt --single-version-externally-managed --compile --install-headers /home/admin/env/acq-cluster-data-init/include/site/python3.6/backports.lzma Check the logs for full command output.
WARNING: You are using pip version 21.0.1; however, version 21.3.1 is available.
You should consider upgrading via the '/home/admin/env/acq-cluster-data-init/bin/python -m pip install --upgrade pip' command.
但是按时包错如下:
backports/lzma/_lzmamodule.c:115:18: fatal error: lzma.h: No such file or directory
#include <lzma.h>
^
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for backports.lzma
结果百度后执行如下命令即可
sudo yum install -y xz-devel
[root@acq-53 ~]# sudo yum install -y xz-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package xz-devel.x86_64 0:5.2.2-2.el7_9 will be installed
--> Processing Dependency: xz-libs = 5.2.2-2.el7_9 for package: xz-devel-5.2.2-2.el7_9.x86_64
--> Running transaction check
---> Package xz-libs.x86_64 0:5.2.2-1.el7 will be updated
--> Processing Dependency: xz-libs = 5.2.2-1.el7 for package: xz-5.2.2-1.el7.x86_64
---> Package xz-libs.x86_64 0:5.2.2-2.el7_9 will be an update
--> Running transaction check
---> Package xz.x86_64 0:5.2.2-1.el7 will be updated
---> Package xz.x86_64 0:5.2.2-2.el7_9 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================================================================
Installing:
xz-devel x86_64 5.2.2-2.el7_9 updates 46 k
Updating for dependencies:
xz x86_64 5.2.2-2.el7_9 updates 229 k
xz-libs x86_64 5.2.2-2.el7_9 updates 103 k
Transaction Summary
===================================================================================================================================================================================================================
Install 1 Package
Upgrade ( 2 Dependent packages)
Total download size: 378 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/3): xz-5.2.2-2.el7_9.x86_64.rpm | 229 kB 00:00:00
(2/3): xz-devel-5.2.2-2.el7_9.x86_64.rpm | 46 kB 00:00:00
(3/3): xz-libs-5.2.2-2.el7_9.x86_64.rpm | 103 kB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 3.7 MB/s | 378 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : xz-libs-5.2.2-2.el7_9.x86_64 1/5
Updating : xz-5.2.2-2.el7_9.x86_64 2/5
Installing : xz-devel-5.2.2-2.el7_9.x86_64 3/5
Cleanup : xz-5.2.2-1.el7.x86_64 4/5
Cleanup : xz-libs-5.2.2-1.el7.x86_64 5/5
Verifying : xz-5.2.2-2.el7_9.x86_64 1/5
Verifying : xz-libs-5.2.2-2.el7_9.x86_64 2/5
Verifying : xz-devel-5.2.2-2.el7_9.x86_64 3/5
Verifying : xz-libs-5.2.2-1.el7.x86_64 4/5
Verifying : xz-5.2.2-1.el7.x86_64 5/5
Installed:
xz-devel.x86_64 0:5.2.2-2.el7_9
Dependency Updated:
xz.x86_64 0:5.2.2-2.el7_9 xz-libs.x86_64 0:5.2.2-2.el7_9
Complete!
然后就可以成功安装了
[root@acq-53 ~]# /home/admin/env/acq-cluster-data-init/bin/pip install backports.lzma
Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/
Collecting backports.lzma
Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/21/0f/1a9990233076d48aa2084100ba289ca162975e73a688f3a56c0ee2bb441a/backports.lzma-0.0.14.tar.gz (47 kB)
|████████████████████████████████| 47 kB 19.4 MB/s
Building wheels for collected packages: backports.lzma
Building wheel for backports.lzma (setup.py) ... done
Created wheel for backports.lzma: filename=backports.lzma-0.0.14-cp36-cp36m-linux_x86_64.whl size=48249 sha256=3bacc1891f9654f83592b10a49f2f5401d6846e86552914a70a6ceaba7817c6a
Stored in directory: /root/.cache/pip/wheels/d9/83/be/7c64aea32de814a19b00e0d09e6a0c30cf447d5afb27770ea7
Successfully built backports.lzma
Installing collected packages: backports.lzma
Successfully installed backports.lzma-0.0.14
WARNING: You are using pip version 21.0.1; however, version 21.3.1 is available.
You should consider upgrading via the '/home/admin/env/acq-cluster-data-init/bin/python -m pip install --upgrade pip' command.
但是还是报开通的错误,经过搜索整理,只要进行如下操作即可
[root@acq-53 __pycache__]# find / -name lzma.py
/opt/Python-3.6.8/Lib/lzma.py
/usr/local/python36/lib/python3.6/lzma.py
[root@acq-53 __pycache__]# sz /usr/local/python36/lib/python3.6/lzma.py
[root@acq-53 __pycache__]# vim /usr/local/python36/lib/python3.6/lzma.py
将文件中的代码进行替换即可
try:
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
from backports.lzma import *
from backports.lzma import _encode_filter_properties, _decode_filter_properties