[英]Can't install lxml in python2.7
我試圖在一個virtualenv中安裝lxml與sudo pip install lxml
以及sudo pip install --upgrade lxml
但在以下兩種情況下獲得以下內容:
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,
relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes
-D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security build/temp.linux-x86_64-2.7/src/lxml/lxml.etree.o -lxslt
-lexslt -lxml2 -lz -lm -o build/lib.linux-x86_64-2.7/lxml/etree.so
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools,
tokenize;__file__='/tmp/pip_build_root/lxml/setup.py';
exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'),
__file__, 'exec'))" install --record /tmp/pip-nmFOYf-record/install-record.txt
--single-version-externally-managed --compile failed with error code 1 in
/tmp/pip_build_root/lxml
Storing debug log for failure in /root/.pip/pip.log
我在這里嘗試了所有發布的解決方案,這意味着我安裝了libxml2-dev
, libxslt-dev
和python-dev
並且我還安裝了build-essential
我目前正在運行Linux Mint 17 Debian Based,它使用apt-get
作為包管理器。
python-lxml
已經預裝好了。
lxml
依賴於各種C庫,你必須安裝這些C庫 - 包括它們的開發文件(頭文件, .so
或.a
庫等) - 來構建lxml
。 安裝文檔說明了在特定平台上構建所需的先決條件。
這個錯誤:
/usr/bin/ld: cannot find -lz
...意味着您缺少的先決條件是libz
,也就是zlib
。
因為你不在Windows上,所以你實際上根本沒有zlib
是非常不可能的......但是你沒有zlib
的開發文件是相當合理的。 在某些平台上,最值得注意的是許多Linux發行版,軟件包通常分成不同的部分。 例如,運行時所需的zlib
部分可能位於名為zlib
的包中,而在名為zlib-dev
或zlib-devel
的包中構建需要zlib
其他程序所需的部分。 具體細節取決於您的確切平台。
話雖這么說,如果你沒有zlib
開發文件,你可能也沒有libxml2
或libxslt
開發文件,因為我不知道任何平台安裝那些不會拉入zlib
文件同樣。
無論如何,既然你沒有告訴我們你是一個平台(和發行版,如果是linux),我不知道要使用什么包管理器,包命名是什么等等,但做任何適合的你的平台。
也:
我已經安裝了
python-lxml
你真的不應該用你的發行包管理器和pip
安裝相同的包; 這是混淆自己的好方法。
但無論如何,很可能你從二進制包而不是源代碼安裝python-lxml
,這意味着你不需要構建要求。 現在你正在嘗試從源代碼構建它,這意味着你可以。
在基於ubuntu的Linux發行版上,您可以使用:
sudo apt-get install zlib1g-dev
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.