【发布时间】:2023-03-23 14:35:02
【问题描述】:
我需要针对 XSD 验证 XML 文件。为此,我想使用lxml library。问题是即使我有from lxml import etree 并且已经将lxml 安装到C:\Python33\Lib\site-packages\lxml\,我得到了错误
Traceback (most recent call last):
File "C:\Users\asmithe\Documents\dev1\TestParse.py", line 3, in <module>
from lxml import etree as ET_l
ImportError: No module named lxml
为什么会这样,我该如何解决?我尝试将 C:\Python33\Lib\site-packages\lxml\ 添加到 PATH 变量中,但没有帮助。我已经使用 PIP 安装了 lxml。
更新:当我通过交互式终端运行脚本时(即在 cmd 中输入python)它可以import lxml
这是一个简单的脚本
from lxml import etree
def main():
print('hi')
if __name__ == "__main__":
main()
在 cmd 我做
C:\Users\dev1\Documents\test>python
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 10:35:05) [MSC v.1600 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from lxml import etree
>>>
>>> def main():
... print('hi')
...
>>>
>>> if __name__ == "__main__":
... main()
...
hi
>>> exit()
但是如果我尝试运行它
> ImportLxml.py
然后我得到
C:\Users\dev1\Documents\test>ImportLxml.py
Traceback (most recent call last):
File "C:\Users\dev1\Documents\XML test\TestImport.py", line 1, in <module>
from lxml import etree
ImportError: No module named lxml
这里是 PATH 环境变量中的所有 pythonic 条目
C:\Python33\;
C:\Python33\Scripts;
C:\Python33\Lib\site-packages\lxml\
%ARCGISINSALLDIR%\arcpy;
【问题讨论】:
-
您的系统中是否安装了多个 python?
-
@AnandSKumar 是的 Python 2.7 和 3.3(我打算使用 3.3)。你问我是否有多个 lxml 安装?在文件夹
C:\Python33\Lib\site-packages中有子文件夹lxml和lxml-3.4.4.dist-info。 -
你能做到吗 -
import sys; sys.version在 python 终端内,你得到库导入错误。 -
@AnandSKumar 它说 3.3.5。但是当我从命令行 python 执行
import lxml时,它可以工作。 -
你是如何运行脚本的?你也可以添加脚本吗?