i从源构建了Python 3.6,并试图安装LXML。尝试从PIP安装它会产生以下错误:
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include/libxml2 -Isrc -Isrc/lxml/includes -I/usr/local/include/python3.6m -c src/lxml/etree.c -o build/temp.linux-armv6l-3.6/src/lxml/etree.o -w
src/lxml/etree.c:91:20: fatal error: Python.h: No such file or directory
compilation terminated.
Compile failed: command 'gcc' failed with exit status 1
cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInitln68cjsn.c -o tmp/xmlXPathInitln68cjsn.o
cc tmp/xmlXPathInitln68cjsn.o -L/usr/lib -lxml2 -o a.out
error: command 'gcc' failed with exit status 1
如果我尝试安装Cython来从源编译LXML,则会引起相同的错误。我安装了libxml2-dev和libxslt1-dev,但显然也需要Python3.6-DEV,在Raspbian存储库中找不到。我将以下行添加到/etc/apt/sources.list:
deb http://ftp.de.debian.org/debian sid main
但是,在此之后尝试安装时,我会收到以下错误:
The following packages have unmet dependencies:
libdbus-1-3 : Breaks: dbus (< 1.9.16-1~) but 1.6.8-1+deb7u1 is to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
实际上,此错误是在不在Raspbian One中的Debian存储库中发现的。我该怎么办?
由于您从源安装了Python,因此您应该已经拥有标头文件。还应将标题文件用于您构建的版本,而不是包装管理器中的版本。
中的版本。- 将源代码目录添加到GCC(
gcc -I<dir>
)或
使用的包含 - 在系统目录中安装来自源包的来自
/usr/include
或/usr/local/include
的系统目录中
第二个选项可能最简单,应该从标准配置/制作脚本中进行。