在Django中导入Python模块时出错
在我的Django项目中,出现了一个错误,提示“没有名为elementtree的模块”。
from elementtree import ElementTree
不过,这个模块其实是安装好的(也就是说,我可以打开一个交互式的Python环境,输入那行代码时不会出现ImportError),而且包含这个模块的目录也在PYTHONPATH里。但是,当我在浏览器中访问任何页面时,它却找不到这个模块,结果又出现了ImportError。这可能是什么原因呢?
3 个回答
0
首先,找到你安装Python的文件夹。
比如说:
C:\Python26\Lib\site-packages
然后检查一下这个文件夹里有没有elementtree和django这两个东西。
如果这两个都没有,那可能是你安装了多个版本的Python,每个版本都有自己的安装文件夹。
不管怎样,你可以通过运行这个命令来解决你的问题:
python setup.py install
你需要运行两次这个命令,一次是在django的下载文件夹里,另一次是在elementtree的下载文件夹里。这样就能把这两个东西安装到你当前使用的Python版本里。
参考资料:
1
我也遇到过跨平台的问题,就是在不同的系统上,ElementTree这个东西来自不同的模块……最后我找到的解决办法是这个:
try:
import elementtree.ElementTree as ET
except:
import xml.etree.ElementTree as ET
这可能对你有帮助,也可能没有……
7
你可以在 Django 的命令行界面中导入 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')