背景说明:在爬虫学习中,需要使用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
结果完美解决!
这说明,很多问题并不一定网上有现成的答案,可以通过推断来判断问题在哪儿,再解决问题
本文详细记录了在Python环境中遇到的lxml安装及版本问题,并提供了有效的解决策略。从错误信息分析到逐步尝试不同解决方案,最终通过指定版本安装lxml成功解决了问题。
3939

被折叠的 条评论
为什么被折叠?



