linux下安裝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等等,仔細查看報錯信息,安裝必須的依賴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM