在我的Django项目中,以下行引发了一个ImportError:“没有名为elementtree的模块”。
from elementtree import ElementTree
但是,安装了模块(即,我可以运行交互式python shell,并输入没有任何ImportError的确切行),并且包含该模块的目录位于PYTHONPATH上。但是当我访问浏览器中的任何页面时,它以某种方式找不到该模块,并抛出ImportError。可能导致这种情况的原因是什么?
答案 0 :(得分:5)
你能在django shell中导入elementtree
:
python manage.py shell
假设您有多个python版本并且不知道哪个版本用于运行您的网站,请将以下内容添加到您的视图并将python_ver
推送到您的模板,它将显示您正在使用的Python版本:
import sys
python_ver = sys.version
您还可以在settings.py
:
import sys
sys.path.append('path to where elementtree resides')
答案 1 :(得分:1)
我也遇到过跨平台问题,其中ElementTree可以从不同系统的不同模块中获得......这最终为我工作:
try:
import elementtree.ElementTree as ET
except:
import xml.etree.ElementTree as ET
可能或可能没有帮助你...
答案 2 :(得分:0)
进入安装目录
示例:
C:\ Python26 \ LIB \站点包
检查elementtree和django是否都在那里。
如果它们都不在那里,那么你可能有不同版本的Python的多个安装目录。
在任何情况下,您都可以通过运行以下命令来解决问题:
python setup.py install
运行两次,一次在django下载,一次在elementtree下载。它会将这两个下载安装到您当前的默认python中。
参考文献: