Python Apache上的Django:设置上的导入错误

Python Apache上的Django:设置上的导入错误,python,django,apache,Python,Django,Apache,我在Apache2服务器上使用虚拟主机为几个Django站点提供服务。对于其中一个站点,我在日志中不断收到内部服务器错误消息: [Thu Oct 09 15:11:24.597107 2014][:错误][pid 8370:tid 14012613805034][remote 128.30.86.202:15793]导入错误:无法导入设置“日历。设置”是否在sys.path上?设置文件中是否存在导入错误?:没有名为“设置”的模块 以下是我的日历/目录的外观: |-- calendar | |

我在Apache2服务器上使用虚拟主机为几个Django站点提供服务。对于其中一个站点,我在日志中不断收到内部服务器错误消息:

[Thu Oct 09 15:11:24.597107 2014][:错误][pid 8370:tid 14012613805034][remote 128.30.86.202:15793]导入错误:无法导入设置“日历。设置”是否在sys.path上?设置文件中是否存在导入错误?:没有名为“设置”的模块

以下是我的日历/目录的外观:

|-- calendar
|   |-- forms.py
|   |-- __init__.py
|   |-- models.py
|   |-- settings.py
|   `-- views.py
|-- manage.py
|-- urls.py
`-- wsgi.py
当我将sys.path打印到错误日志时,日历和日历/日历目录都在那里

我已经尝试直接运行wsgi.py目录和calendar/settings.py,但没有收到任何导入错误。我再次尝试运行manage.py shell,没有导入错误

我已检查/etc/apache2/apache2.conf中的WSGIPythonPath是否包含日历和日历/日历的完整路径

我怀疑这是一个权限错误。目录中所有文件的所有者/组是ubuntu:ubuntu,其中ubuntu是服务器上的用户名。所有者应该是谁,权限应该是什么?谢谢

如果这不是权限问题,有没有其他方法来测试这个问题?谢谢

将以下内容放入wsgi.py中:

最后一行应该已经在那里了。如果需要,请取消注释。如果有这样一条线:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "calendar.settings")
然后评论它。请使用这些设置重试,并告诉我们发生了什么


/full/path/to应该替换为项目的完整路径,但这对您来说可能是显而易见的。

是的。。。不要为应用程序指定与项目相同的名称。Django有时会被它堵住,结果是,这个错误是因为它在应用程序中查找之前,正在Python的日历库中查找设置。谢谢大家!很高兴你解决了这个问题。在自己的项目中使用现有python库的名称真的不是一个聪明的主意。感谢您的回复。我应该把它放在前面,但这几乎就是我在wsgi.py中的内容。关于还有什么可以尝试的想法?谢谢
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "calendar.settings")