问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python导入libxml2dom不成功,求助

发布网友 发布时间:2022-04-23 18:04

我来回答

1个回答

热心网友 时间:2022-04-12 15:05

最近一个python项目需要用到libxml2dom这个包,然后就pip安装之,之后验证安装是否成功:

shandow@mac:~ > python

Python 2.7.5 (default, Mar 9 2014, 22:15:05)

[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import libxml2dom

Traceback (most recent call last):

File "<stdin>", line 1, in <mole>

File "/Library/Python/2.7/site-packages/libxml2dom/__init__.py", line 24, in <mole>

from libxml2dom.macrolib import *

File "/Library/Python/2.7/site-packages/libxml2dom/macrolib/__init__.py", line 26, in <mole>

from libxml2dom.macrolib.macrolib import *

File "/Library/Python/2.7/site-packages/libxml2dom/macrolib/macrolib.py", line 30, in <mole>

from libxmlmods import libxml2mod

ImportError: No mole named libxmlmods

意思是缺乏libxmlmods库,使用pip安装之,提示找不到。。。。好吧,度娘问吧,找到一个类似libxml2dom的官方声明似的网站:

libxml2dom

Current release: libxml2dom 0.5 (requiring the low-level libxml2 Python bindings, typically provided by the python-libxml2 or libxml2-python packages for various GNU/Linux distributions: Ubuntu, Debian, Fedora, Red Hat, SuSE)
Introction
The libxml2dom package provides a traditional DOM wrapper around the Python bindings for libxml2. In contrast to the standard libxml2 bindings, libxml2dom provides an API reminiscent of minidom, pxdom and other Python-based and Python-related XML toolkits. Performance is fairly respectable since libxml2dom makes direct use of libxml2mod - the low-level wrapping of libxml2 for Python. Moreover, serialisation of documents is much faster than many other toolkits because libxml2dom can make direct use of libxml2 rather than employing Python-level mechanisms to visit and serialise nodes.
Copyright and Licence
libxml2dom is licensed under the LGPL version 3 (or later).

这里第一句话就是libxml2dom依赖libxml2库,可以通过查找python-libxml2或者libxml2-python下载,可是偶使用pip安装都提示找不到资源。。。。好吧,再次度娘,手动下载了这个包。这里贴出我分享出来的地址:libxml2下载(我的是mac
os系统,windows系统的自行下载吧,哈哈。。。)再说下mac os下如何安装:
1.先把下载的tar包放到自己python环境的site-packages,我的是:
/Library/Python/2.7/site-packages
2.解压:sudo tar -xvf libxml2-2.7.8.tar
3.进入解压后的文件夹,由于是源码包需要编译安装:
cd libxml2-2.7.8
sudo ./configure
sudo make
sudo make install
好了,如果没有报错就ok了,测试下把:
python
import libxml2
提示没有这个模块,说明没有导成功,郁闷。。。。
重新进入文件夹 :
cd libxml2-2.7.8
发现这个文件夹中有个python文件夹,进入:

shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8 > cd python/
shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8/python > ll
total 5704
-rw-r--r-- 1 root network 132 11 17 10:46 MANIFEST
-rw-r--r-- 1 root network 31357 11 17 10:43 Makefile
-rw-rw-r--@ 1 50138 network 1542 11 4 2010 Makefile.am
-rw-rw-r--@ 1 50138 network 32443 11 5 2010 Makefile.in
-rw-rw-r--@ 1 50138 network 1272 9 24 2009 README
-rw-rw-r--@ 1 50138 network 1623 9 24 2009 TODO
drwxr-xr-x 4 root network 136 11 17 10:46 build
-rw-rw-r--@ 1 50138 network 15061 9 24 2009 drv_libxml2.py
-rw-r--r-- 1 root network 0 11 17 10:44 gen_prog
-rwxrwxr-x@ 1 50138 network 47541 10 16 2010 generator.py
-rw-rw-r--@ 1 50138 network 104464 11 3 2010 libxml.c
-rw-r--r-- 1 root network 271 11 17 10:44 libxml.lo
-rw-r--r-- 1 root network 297240 11 17 10:44 libxml.o
-rw-rw-r--@ 1 50138 network 22817 10 12 2010 libxml.py
-rw-r--r-- 1 root network 126532 11 17 10:44 libxml2-export.c
-rw-r--r-- 1 root network 434813 11 17 10:44 libxml2-py.c
-rw-r--r-- 1 root network 112512 11 17 10:44 libxml2-py.h
-rw-r--r-- 1 root network 283 11 17 10:44 libxml2-py.lo
-rw-r--r-- 1 root network 819684 11 17 10:44 libxml2-py.o
-rw-rw-r--@ 1 50138 network 18669 10 12 2010 libxml2-python-api.xml
-rw-r--r-- 1 root network 341257 11 17 10:44 libxml2.py
-rw-r--r-- 1 root network 318440 11 17 10:44 libxml2class.py
-rw-r--r-- 1 root network 22768 11 17 10:44 libxml2class.txt
-rw-r--r-- 1 root network 1166 11 17 10:44 libxml2mod.la
-rw-rw-r--@ 1 50138 network 7277 10 12 2010 libxml_wrap.h
-rwxr-xr-x 1 root network 6685 11 17 10:43 setup.py
-rwxrwxr-x@ 1 50138 network 6707 9 24 2009 setup.py.in
drwxrwxr-x@ 55 50138 network 1870 11 17 10:43 tests
-rw-rw-r--@ 1 50138 network 21068 10 12 2010 types.c
-rw-r--r-- 1 root network 268 11 17 10:44 types.lo
-rw-r--r-- 1 root network 63320 11 17 10:44 types.o
shandow@mac:/Library/Python/2.7/site-packages/libxml2-2.7.8/python >
参照网上说的python第三方包的安装方式:
sudo python setup.py build
sudo python setup.py install
这两句运行完后,重新进入site-packages文件夹,发现多了libxml2的egg-info文件:

再次测试:

shandow@mac:/Library/Python/2.7/site-packages > python
Python 2.7.5 (default, Mar 9 2014, 22:15:05)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import libxml2
>>> import libxml2dom
>>>
libxml2安装成功了,libxml2dom也不会报错了,大功告成。。。。。网上百度,google都没有这个问题的解决办法,作者这里原创一个,哈哈。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
材料力学实验简介 密度板的辅助部分实验有什么 10+张图带你看懂材料力学性能测试及分析! 材料力学实验测定材料的机械性能 清理Android和iOS上的Instagram应用缓存,让使用体验直线up! 我要英语自我介绍,帮帮我啊!我叫颜孟昊,今年13岁,爱打篮球下围棋,喜欢... 鸡蛋黄可以用米粉混在一起吃? 吉林市热力公司好么 吉林市热力公司现在一个月到底能开多少钱,基层的员工。 小女贼的猫腻内容简介 Ts .D .J是什么意思? 怎么调用index.d.ts中的函数 请问dr和d3;ts和tr这两个音标发音有什么区别啊? vs js d.ts 文件怎么用 angular2不使用.d.ts文件,能用jquery的插件吗 荔园阁周边环境怎么样?生活便利吗? reactnativeteaset找不到声明文件 馨庭苑怎么样?好不好?值不值得买? 如何生成 d.ts 白鹭开发者中心 深圳有哪些贵族幼儿园学校 在TypeScript中,d.ts声明文件中的 export=&#39;是什么意思 深圳市福民小学与深圳梅山中学相距多少? 紫薇阁的小区配套 进行.net开发,创建项目是Script目录下的index.d.ts有什么作用,为什么会... 邻居们,下梅林哪个幼儿园好 TypeScript 中的 d.ts 文件有什么作用,这种文件的内如如何编写_百度知 ... 深圳各区比较有名的幼儿园有哪些? 如何编写一个d.ts文件 深圳市梅林一村幼儿园怎么样? 深圳一幼儿园收2.8万咨询费,如何看待幼儿园收取高价费用? python导入libxml2dom不成功,求助。。。 如何更新cmake的qt的ts文件 家里发生的一件事作文 写以《在家里发生的一件事》为题的作文 在家里发生的一件事作文100个字 你家中发生过哪些最有趣的事情? 写家里的事作文600字 发生在家里的一件事日记50字 三年级作文《发生家里的一件事》 在家里发生的一件事作文六百字 写话:在家里发生的一件事情100字 关于家中的事情,三百字作文. 家里发生了很多事,我该怎么做? 周记,发生在家里的事情250字左右 作文《发生在家里的一件事》500字 写写家里发生的故事作文400字 发生在家里的一件事作文400字 在家里发生的一件事,360字,作文 《发生在家里的一件事》作文 在家里发生的一件事220字