什么是python-dev包用于

Abh*_*sek 45 python cpython

我最近安装了lxml.

在此之前,我必须为此安装所有依赖项.所以我尝试安装liblxml2-dev,liblxslt1-devpython-dev (谷歌搜索了所需的包lxml)

但即使在那之后,我也无法lxml使用该命令 进行安装pip install lxml.

但是因为我使用的是Python 3.4.0,我认为可能存在不同的版本python-dev(思想是由于面临一些类似的版本冲突问题).所以我试着安装python3-dev.

然后我尝试lxml使用前面说过的相同命令进行安装,并且工作正常!

因为我是新手.所以,我的google搜索那些句子,我能看得懂的意义lxmlxslt.我找到了一个链接,python-dev但我还不确定它到底在做什么.

谁能帮忙:)

Ber*_*ard 41

python-dev包含构建Python扩展所需的头文件.lxml是一个Python C-API扩展,当你这样做时编译pip install lxml.lxml源至少#include <Python.h>在代码中有类似的东西.编译器在编译期间查找Python.h文件,因此这些文件需要在您的系统上才能找到它们.在Linux上,通常,python等包的二进制库和头文件是分开的.因此,您可以安装Python并且一切正常,但是当您想要构建扩展时,您需要安装相应的开发包.

  • 构建扩展时需要头文件.扩展源代码引用它使用的库的头文件.构建Python扩展时,它使用包含Python API C函数和数据结构的Python共享库.这不仅适用于Python,也适用于您在系统上安装的几乎所有库和应用程序.每当你编写一个使用librarie API的程序时,你需要相应的devel包来构建你的程序. (4认同)
  • 你说当你要构建扩展时,你需要安装相应的开发包。你能解释更多吗?头文件如何构建扩展 (2认同)

jtn*_*hof 7

python-dev 包含编译 python 扩展模块所需的一切(https://docs.python.org/2/extending/extending.html)。

请注意,Debian 已经有一个用于 python 3 的 lxml 包(在http://lxml.de/installation.html中提到);一般来说,使用打包版本是个好主意。我建议pip uninstall lxml然后apt-get install python3-lxml


Vin*_*jip 6

python-dev是包含Python C API头文件的包,lxml因为它包含用于高性能的Python C扩展.