无法在Raspberry Pi上的Python 3.6上安装基于C的模块,如lxml和Cython。



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
  • 的系统目录中

第二个选项可能最简单,应该从标准配置/制作脚本中进行。

最新更新