在Django中导入python模块时出错

时间:2009-09-03 19:17:47

标签: python django elementtree python-module

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

  from elementtree import ElementTree 

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

3 个答案:

答案 0 :(得分:5)

你能在django shell中导入elementtree

python manage.py shell

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

import sys
python_ver = sys.version

您还可以在settings.py

中以编程方式明确添加elementtree的路径
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中。

参考文献: