2016-03-07 154 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

相关问题