爬蟲項目須要用到lxml包,解析html文件,可是linux服務器沒有lxml包,html
服務器中python版本是3.8.python
直接使用命令安裝:linux
pip install lxml
中途會報錯,錯誤提示我沒有保存,懶得再現了。覺得是python版本問題,再運行:服務器
pip3 install lxml
注意此命令須要先安裝pip3,但仍然報錯。spa
多是線上包有問題,因而想經過安裝whl文件,本地安裝lxml。code
首先查看當前python可支持的whl文件:xml
python環境下運行:htm
import pip._internal print(pip._internal.pep425tags.get_supported())
又報錯,說是沒有.pep425tags屬性,百度後發現,上面是AMD64運行代碼,blog
下面是win32運行代碼ip
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等等,仔細查看報錯信息,安裝必須的依賴