3

在我的 Django 项目中,以下行引发 ImportError:“没有名为 elementtree 的模块”。

  from elementtree import ElementTree 

但是,该模块已安装(即,我可以运行交互式 python shell,并键入没有任何 ImportError 的确切行),并且包含该模块的目录位于 PYTHONPATH 上。但是当我在浏览器中访问任何页面时,它以某种方式找不到模块,并抛出 ImportError。这可能是什么原因造成的?

4

3 回答 3

7

elementtree您可以在 django shell 中导入:

python manage.py shell

假设您有多个 python 版本并且不知道使用哪个版本来运行您的站点,请将以下内容添加到您的视图并推python_ver送到您的模板,它将显示您正在使用的 Python 版本:

import sys
python_ver = sys.version

您还可以在您的以下以编程方式显式添加到 elementtree 的路径settings.py

import sys
sys.path.append('path to where elementtree resides')
于 2009-09-03T19:53:33.247 回答
1

我还遇到了跨平台问题,其中 ElementTree 可从不同系统上的不同模块中获得……这最终对我有用:

try:
    import elementtree.ElementTree as ET
except:
    import xml.etree.ElementTree as ET

可能对你有帮助,也可能对你没有帮助......

于 2009-09-03T19:49:40.913 回答
0

进入你的安装目录

例子:

C:\Python26\Lib\site-packages

并检查 elementtree 和 django 是否都在其中。

如果它们都不存在,那么您可能有多个安装目录用于不同版本的 Python。


在任何情况下,您都可以通过运行以下命令来解决您的问题:

python setup.py 安装

运行两次,一次在 django 的下载中,一次在 elementtree 的下载中。它将两个下载安装到您当前的默认 python 中。

参考:

于 2009-09-03T19:25:18.413 回答