爬蟲項目需要用到lxml包,解析html文件,但是linux伺服器沒有lxml包, 伺服器中python版本是3.8. 直接使用命令安裝: pip install lxml 中途會報錯,錯誤提示我沒有保存,懶得再現了。以為是python版本問題,再運行: pip3 install lxml 註意此命 ...
爬蟲項目需要用到lxml包,解析html文件,但是linux伺服器沒有lxml包,
伺服器中python版本是3.8.
直接使用命令安裝:
pip install lxml
中途會報錯,錯誤提示我沒有保存,懶得再現了。以為是python版本問題,再運行:
pip3 install lxml
註意此命令需要先安裝pip3,但仍然報錯。
可能是線上包有問題,於是想通過安裝whl文件,本地安裝lxml。
首先查看當前python可支持的whl文件:
python環境下運行:
import pip._internal print(pip._internal.pep425tags.get_supported())
又報錯,說是沒有.pep425tags屬性,百度後發現,上面是AMD64運行代碼,
下麵是win32運行代碼
import pip print(pip.pep425tags.get_supported())
而linux下(或者只要是python3)可使用以下命令:
import wheel.pep425tags print(wheel.pep425tags.get_supported())
結果如下:
[('cp38', 'cp38m', 'linux_x86_64'), ('cp38', 'abi3', 'linux_x86_64'), ('cp38', 'none', 'linux_x86_64'),
('cp37', 'abi3', 'linux_x86_64'), ('cp36', 'abi3', 'linux_x86_64'), ('cp35', 'abi3', 'linux_x86_64'),
('cp34', 'abi3', 'linux_x86_64'), ('cp33', 'abi3', 'linux_x86_64'), ('cp32', 'abi3', 'linux_x86_64'),
('cp38', 'none', 'any'), ('cp3', 'none', 'any'), ('cp37', 'none', 'any'), ('cp36', 'none', 'any'),
('cp35', 'none', 'any'), ('cp34', 'none', 'any'), ('cp33', 'none', 'any'), ('cp32', 'none', 'any'),
('cp31', 'none', 'any'), ('cp30', 'none', 'any'), ('py3', 'none', 'linux_x86_64'), ('py38', 'none', 'any'),
('py3', 'none', 'any'), ('py37', 'none', 'any'), ('py36', 'none', 'any'), ('py35', 'none', 'any'),
('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]
訪問https://pypi.org/project/lxml/#files下載所需要的包,結果發現,居然都不合適,只會提示此文件不匹配。
pip安裝lxml
最後還是通過pip安裝,win下直接pip install lxml就完事了。linux不行,因為它有依賴,首先需要安裝依賴:
yum install libxslt-devel
yum install libxml2
當然也許還需要別的依賴,這可能是你的linux太菜,python環境得有吧,python-devel等等,仔細查看報錯信息,安裝必須的依賴