Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python开发包的用途是什么_Python_Header Files_Cpython - Fatal编程技术网

python开发包的用途是什么

python开发包的用途是什么,python,header-files,cpython,Python,Header Files,Cpython,我最近安装了lxml 在此之前,我必须安装所有的依赖项。 因此,我尝试安装liblxml2dev,liblxslt1dev和python dev (谷歌搜索了lxml需要哪些软件包) 但即使在那之后,我也无法使用命令安装lxml pip安装lxml 然而,由于我使用的是Python3.4.0,我认为可能存在不同版本的Pythondev(这种想法是由于面临一些类似的版本冲突问题)。所以我尝试安装python3dev 然后,我尝试使用前面提到的相同命令安装lxml,效果很好 我在谷歌上搜索那些句子

我最近安装了
lxml

在此之前,我必须安装所有的依赖项。 因此,我尝试安装
liblxml2dev
liblxslt1dev
python dev
(谷歌搜索了
lxml
需要哪些软件包) 但即使在那之后,我也无法使用命令安装
lxml
pip安装lxml

然而,由于我使用的是Python3.4.0,我认为可能存在不同版本的
Pythondev
(这种想法是由于面临一些类似的版本冲突问题)。所以我尝试安装
python3dev

然后,我尝试使用前面提到的相同命令安装
lxml
,效果很好

我在谷歌上搜索那些句子 我能够理解
lxml
xslt
的含义。我找到了一个用于
python开发的
,但我仍然不确定它实际上在做什么

OS-Ubuntu

python开发
python-dev
包含构建python扩展所需的头文件

lxml
lxml
是在执行
pip安装lxml
时编译的一个Python C-API扩展。lxml源代码中至少有类似于
#include
的内容。编译器在编译过程中查找头文件
Python.h
,因此这些头文件必须在系统中才能找到

-dev
Linux上的软件包
在Linux上,二进制库和Python等包的头文件通常是分开的。因此,您可以安装Python(例如,package
Python
),并且一切正常。但是,当您想要构建扩展时,需要安装相应的
-dev
包。

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

Python开发包含编译Python扩展模块()所需的所有内容


注意,Debian已经有了一个用于Python3的lxml包(在中提到);一般来说,最好使用打包版本。我建议
pip卸载lxml
,然后
apt get install python3 lxml

当您想要构建扩展时,您需要安装相应的开发包。你能详细解释一下吗?。头文件如何构建扩展构建扩展时需要头文件。扩展源代码引用它使用的库的头文件。构建Python扩展时,它使用包含Python API C函数和数据结构的Python共享库。这不仅适用于Python,而且几乎适用于系统上安装的所有库和应用程序。每当你编写一个使用librarie API的程序时,你都需要相应的devel包来构建你的程序。是的,在Windows上也是如此。通常,库提供包含头文件的SDK包(zip或Installer)。在为Python构建扩展时,它们通常是使用Visual Studio工具编译的,VS项目文件需要引用这些头文件;问题应该提到您使用的是哪个操作系统(我猜是Debian Linux或类似Ubuntu或Mint的衍生产品,不过基于RPM的发行版也有类似的安排,有一个单独的
-dev
包作为标题)。