在我的 Django 项目中,以下行引发 ImportError:“没有名为 elementtree 的模块”。
from elementtree import ElementTree
但是,该模块已安装(即,我可以运行交互式 python shell,并键入没有任何 ImportError 的确切行),并且包含该模块的目录位于 PYTHONPATH 上。但是当我在浏览器中访问任何页面时,它以某种方式找不到模块,并抛出 ImportError。这可能是什么原因造成的?
在我的 Django 项目中,以下行引发 ImportError:“没有名为 elementtree 的模块”。
from elementtree import ElementTree
但是,该模块已安装(即,我可以运行交互式 python shell,并键入没有任何 ImportError 的确切行),并且包含该模块的目录位于 PYTHONPATH 上。但是当我在浏览器中访问任何页面时,它以某种方式找不到模块,并抛出 ImportError。这可能是什么原因造成的?
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')
我还遇到了跨平台问题,其中 ElementTree 可从不同系统上的不同模块中获得……这最终对我有用:
try:
import elementtree.ElementTree as ET
except:
import xml.etree.ElementTree as ET
可能对你有帮助,也可能对你没有帮助......
进入你的安装目录
例子:
C:\Python26\Lib\site-packages
并检查 elementtree 和 django 是否都在其中。
如果它们都不存在,那么您可能有多个安装目录用于不同版本的 Python。
在任何情况下,您都可以通过运行以下命令来解决您的问题:
python setup.py 安装
运行两次,一次在 django 的下载中,一次在 elementtree 的下载中。它将两个下载安装到您当前的默认 python 中。
参考: