2015-06-23 465 views
19

我最近安裝了lxml什麼是python-dev軟件包用於

在此之前,我不得不安裝所有的依賴關係。 所以我試圖安裝liblxml2-devliblxslt1-devpython-dev (谷歌搜索所需要的lxml什麼包)

但即使在那之後我可能無法通過使用命令 pip install lxml安裝lxml

但是由於我使用的是Python 3.4.0,我認爲可能有不同版本的python-dev(因爲面臨一些類似的版本衝突問題而產生這種想法)。所以我試圖安裝python3-dev

然後我試圖安裝lxml使用前面說過的相同的命令,並且工作!

因爲我是這個新手。所以我谷歌搜索這些句子 ,我能夠理解lxmlxslt的含義。我找到linkpython-dev,但我不確定它實際上在做什麼。

任何人都可以幫助:)

回答

15

中的python-dev的包含你需要建立Python擴展的頭文件。 lxml是一個Python C-API擴展,在您執行pip install lxml時進行編譯。 lxml源代碼中至少包含#include <Python.h>之類的內容。編譯器在編譯期間查找Python.h文件,因此這些文件需要位於系統中,以便可以找到它們。 在Linux上通常,像python這樣的軟件包的二進制庫和頭文件是分開的。因此你可以安裝Python並且一切正常,但是當你想構建擴展時,你需要安裝相應的開發包。

+1

你說當你想構建擴展時,你需要安裝相應的開發包。你能解釋一下嗎?頭文件如何構建擴展 – Abhisek

+4

構建擴展時需要頭文件。擴展源代碼引用它使用的庫的頭文件。當構建Python擴展時,它使用包含Python API C函數和數據結構的Python共享庫。 這不僅適用於Python,還適用於您安裝在系統上的幾乎所有庫和應用程序。每當你編寫一個使用Librarie API的程序時,你需要相應的devel包來構建你的程序。 – Bernhard

4

python-dev是包含Python C API的頭文件的包,lxml使用該頭文件,因爲它包含用於高性能的Python C擴展。

相關問題