Ubuntu 安装Python-lxml 普通用户无法调用lxml 解决办法

本文详细记录了在Python环境中遇到的lxml安装及版本问题,并提供了有效的解决策略。从错误信息分析到逐步尝试不同解决方案,最终通过指定版本安装lxml成功解决了问题。

背景说明:在爬虫学习中,需要使用lxml,使用apt-get install python-lxml ,提示错误,程序无法运行

E: 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够)
E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?

原因是:使用Python3.5 不能使用lxml的etree,所以程序无法运行

解决办法:
查找过网上很多教程,并没有一个完整的解决方案.
尝试1:

sudo apt-get install python-lxml

程序可以运行
这说明问题应该是普通用户模式下,Python程序无法调用属于"#"用户的程序.这就给出了可能解决的方向.
思路是: 卸载掉管理员用户安装的python-lxml,然后用普通用户安装

sudo apt-get remove --purge python-lxml #删除掉管理员用户的程序
apt-get install python-lxml  #用普通用户安装

结果依然提示

E: 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够)
E: 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?

尝试2: 直接用pip 安装lxml

pip install lxml #安装默认的lxml,环境是Python3.5

结果安装的lxml是4.2.5版本,结果程序并不能使用
尝试3: 卸载掉高版本lxml,安装能够使用的版本lxml==3.7.1

pip uninstall lxml #卸载版本4.2.5
pip install lxml==3.7.1 #安装能使用的版本3.7.1
结果完美解决!

这说明,很多问题并不一定网上有现成的答案,可以通过推断来判断问题在哪儿,再解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值