2016-03-07 155 views
0

當我通過從http://www.lfd.uci.edu/~gohlke/pythonlibs/下載.whl文件終於在我的計算機上安裝了lxml後,我認爲我的lxml安裝問題在我身後。但是,顯然我錯了。在EC2平臺上似乎並沒有那麼容易。我嘗試了幾乎所有我能想到的命令 - sudo pip3/pip3.4/pip-3.4/easy_install-3.4 lxml/lxml-3.5.0-cp34-none-win32.whl/lxml-3.5.0 -cp34- none-win32.whl,STATIC_DEPS = true sudo pip3/pip3.4/pip-3.4/easyinstall-3.4安裝lxml。我不斷收到Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?錯誤消息。 我也嘗試過安裝這些庫,但目前爲止沒有成功。任何幫助安裝lxml或從屬庫將不勝感激。如何在Amazon EC2 for Python 3.4上安裝lxml

回答

1

我最終能夠通過執行以下步驟來安裝的libxml2:

下載tar.gz.文件從http://www.linuxfromscratch.org/blfs/view/7.7/general/libxml2.html,將其傳輸到EC2實例,並從該文件所在的目錄運行tar -zxvf libxml2-2.9.2.tar.gz。 運行sudo yum install libxml2-devel libxslt-devel python34-devel。 (之所以我起初無法安裝這些軟件包,是因爲我使用了無處不在的「-dev」措辭,這在此特定設置中不起作用。) 從libxml2-2.9.2文件夾(根據http://www.linuxfromscratch.org/blfs/view/7.7/general/libxml2.html)運行

sed \ 
    -e /xmlInitializeCatalog/d \ 
    -e 's/((ent->checked =.*&&/(((ent->checked == 0) ||\ 
      ((ent->children == NULL) \&\& (ctxt->options \& XML_PARSE_NOENT))) \&\&/' \ 
    -i parser.c 

./configure --prefix=/usr --disable-static --with-history --with-python=/usr/bin/python3 && make 

,和

make install 

然後。 。 。 ,當我終於跑過sudo easy_install-3.4 lxml時,猜猜看是什麼。 。 。 ;是的,實例耗盡內存。於是,我不得不從How do you add swap to an EC2 instance?應用以下修正:

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 
sudo /sbin/mkswap /var/swap.1 
sudo /sbin/swapon /var/swap.1 

之後,花了相當長的一段使用sudo easy_install-3.4 lxml來安裝,但它的工作。

+0

當試圖在運行Amazon Linux AMI版本2017.03的EC2實例中安裝lxml時,我遇到了類似的問題,並顯示相同的錯誤消息。在我的情況下,問題是沒有安裝GCC。做'sudo yum安裝gcc'解決了它。詢問libxml2是否安裝的錯誤消息非常具有誤導性。 – nsantos

相關問題