2011-06-28 55 views
2

我正在部署一个(专有的)Django应用程序(具有不良支持;-))。我唯一需要做的就是设置一个新的Django项目并实现应用程序的url。所以我的url配置如下:Django:奇怪的导入错误

1 from django.conf.urls.defaults import patterns, include, url 
    2 
    3 urlpatterns = patterns('', 
    4  url(r'^', include('ap01.urls')), 
    5) 

有问题的应用程序也添加到我的INSTALLED_APPS设置。

我可以验证(./manage.py验证),一切都很好。当运行应用程序,我得到了下面的导入错误:

ImportError at/
No module named ap01.urls 

模块存在于由Django的报道Python之路,当手动输入的URL模块一切正常,即:

./manage.py shell 
__import__('ap01.urls') 

我对比QA和dev服务器的设置以及一切似乎都正确无误。唯一不同的是Python版本(QA和dev上的2.6;这台新机器上的2.7)。

+0

1. AP01是在您的设置INSTALLED_APPS:(如果你使用一个类似Unix的OS),然后尝试读取它获取与“苏”这个用户? – Damian

+0

是的。添加信息到我的问题,谢谢:) –

+0

你修改了你的init.py吗? –

回答

2

我想调试这是这样的:

你需要知道其中的ImportError得到提高。然后加入这样的事情:

import sys 
raise Exception(sys.path) 
  • 高于在sys.path中 “AP01” 的目录?
  • 目录ap01是否包含__init__.py文件?
  • 什么user-id让你的python解释器(引发导入异常的那个)?尝试:import os, sys; assert False, (os.getuid(), sys.path)
  • 也许此用户标识没有足够的权限来读取文件? less ...../ap01/...py