[英]Cannot install lxml via pip
我想通过 pip 安装 lxml,但它只是停止了,没有任何错误或…… 当我执行
pip install lxml -vvv
我明白了,它停在了这条线上:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc/lxml/includes -I/usr/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.linux-armv6l-2.7/src/lxml/lxml.etree.o -w
我可以离开控制台一个小时。 无事发生。 没有错误信息。 没什么。
PS:是的,
libxml2-dev libxslt-dev python-dev
都安装了。
对于所有发现相同问题的人来说:在 Raspberry Pi 上编译过程非常缓慢。 它只是没有足够的力量。 不要那样做,这不好玩。
为什么这不起作用很简单。 编译 Python 的 lxml 包只需要比你为其分配的内存多一点。 100MB 的默认交换空间加上 512MB RAM 意味着 gcc 和 kswapd 字面上相互对抗。 它可能会留在 lxml.etree.c 直到几天结束。
如何进行:
首先我们确定是什么消耗了大量内存
ps aux | head -1; ps aux | sort -rnk 4 | head -5
并暂时终止相应的恶魔和进程。 之后,我们将交换文件扩展到 2GB。
sudo dphys-swapfile swapoff
关闭交换。 然后编辑/etc/dphys-swapfile
并修改变量CONF_SWAPSIZE :
CONF_SWAPSIZE = 2048
跑
dphys-swapfile setup
这将创建和初始化文件。
sudo dphys-swapfile swapon
再次打开交换。
我需要这个 Home Assistant,因为它需要 Python 3.8 而这不在包提要中。
在我的树莓派零上
pip3 install lxml
花了大约 70 分钟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.