我在centos6.5中使用Django(1.5.12)和httpd-2.2.15-29以及python 2.6.6。
非常奇怪的错误,我被困住了。请帮帮我!
我的项目树看起来像:
/opt/django-demo
|-- api
| |-- __init__.py
| |-- **views.py**
| |-- utils
| | |-- __init__.py
| | |-- **debug.py**
|-- demo
| |-- __init__.py
| |-- settings.py
| |-- urls.py
| |-- wsgi.py
我需要在 views.py 中导入 utils.debug :
from api.utils import debug
它适用于django runserver,但不适用于apache:
Request Method: GET
Request URL: http://xxxxx/xxxx/
Django Version: 1.5.12
Exception Type: ImportError
Exception Value: No module named utils
Exception Location: /opt/django-demo/api/debug.py in <module>, line 9
Python Executable: /usr/bin/python
Python Version: 2.6.6
Python Path:
['/opt/django-demo',
'/usr/lib/python2.6/site-packages/pip-7.1.2-py2.6.egg',
'/usr/lib64/python26.zip',
'/usr/lib64/python2.6',
'/usr/lib64/python2.6/plat-linux2',
'/usr/lib64/python2.6/lib-tk',
'/usr/lib64/python2.6/lib-old',
'/usr/lib64/python2.6/lib-dynload',
'/usr/lib64/python2.6/site-packages',
'/usr/lib64/python2.6/site-packages/gst-0.10',
'/usr/lib64/python2.6/site-packages/gtk-2.0',
'/usr/lib64/python2.6/site-packages/webkit-1.0',
'/usr/lib/python2.6/site-packages',
'/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info',
'/opt/django-demo/api/utils']
从您可以看到的错误中,已经通过wsgi.py在PYTHONPATH中添加了子目录。
并且没有遗漏__init__.py
。
在mv utils / debug.py之后到api / debug.py:
from api import debug
它有效!!!
那么,为什么?
答案 0 :(得分:0)
终于解决了问题。 似乎debug.py中存在需要导入的错误。 修复错误后,此错误消失。
即使'/ opt / django-demo / api / utils'也不需要在PYTHONPATH中添加。