Python 3.4读取XML报错:ImportError: 'xml' is not a package
解决Python 3.4中
xml.etree导入错误的问题 嘿,我来帮你搞定这个导入错误!你遇到的ImportError: No module named 'xml.etree'; 'xml' is not a package其实大概率是命名冲突导致的,和lxml包没关系,我给你一步步分析解决:
最常见的原因:脚本文件名冲突
- 检查你的Python脚本文件名是不是叫
xml.py!如果是的话,Python在导入时会优先加载你自己的这个脚本,而不是系统标准库的xml包,直接就把标准库的路径覆盖了。 - 解决方法:把你的脚本重命名成别的名字,比如
my_xml_parser.py,别和标准库模块名重名。
清理残留的编译文件或目录
- 即使你改了文件名,当前目录下如果有
xml.pyc(Python编译后的字节码文件)或者名为xml的文件夹,也会导致冲突。 - 解决方法:
- 删除当前目录下的
xml.pyc文件 - 如果有
xml文件夹,确认不是你自己需要的后也删掉它
- 删除当前目录下的
检查Python环境的标准库完整性
如果上面两步都试过还是不行,那可能是你的Python 3.4环境里的标准库xml包损坏了:
- 可以尝试重新安装Python 3.4(注意选择对应版本)
- 或者检查Python的
sys.path,看看标准库的路径有没有被意外修改:
在脚本里先运行这段代码看看输出:
确保输出里包含Python标准库的路径(比如类似import sys print(sys.path)/usr/lib/python3.4这样的路径),如果没有的话,可能需要调整环境变量或者修复Python安装。
另外提一句,xml.etree是Python标准库自带的模块,根本不需要额外安装lxml(除非你要用lxml的扩展功能),所以之前装lxml其实是没用的,问题不在这儿~
内容的提问来源于stack exchange,提问作者Santha Kumar
相关产品推荐
相关产品推荐

