我有一个 Python 2.7/Django 1.4 项目。我正在运行 Ubuntu 11。项目结构有一个 Notecard 的根文件夹、一个名为 Notecard 的项目和一个名为 Notecards 的应用程序:
notecard/
-- notecard/
-- -- manage.py
-- -- settings.py
-- -- __init__.py
-- -- urls.py
-- -- notecards/
-- -- app2/
我正在运行Linux,根文件夹的路径是`/home/dan/notecard/
我的 PYTHONPATH 变量是:
>>> os.environ['PYTHONPATH'].split(os.pathsep)
['', '/home/dan/notecard', '/home/dan', '/home/dan/notecard/notecard/settings']
我的 DJANGO_SETTINGS_MODULE 是:
>>> os.environ['DJANGO_SETTINGS_MODULE'].split(os.pathsep)
['notecard.settings', '/home/dan/notecard/settings', '/home/dan/notecard/notecard/settings']
我的 Manage.py 是:
#!/usr/bin/env python
import os, sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "notecard.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
我使用 PyCharm 作为我的 IDE,当我尝试运行开发服务器时,我得到以下信息:
ImportError:无法导入设置“notecard.settings”(它在 sys.path 上吗?):没有名为 notecard.settings 的模块
我的设置在 Pycharm 的 Django 支持部分都是正确的。
当我尝试直接从终端运行开发服务器时,我得到:
ImportError: 无法导入设置 'notecard.settings:/home/dan/notecard/settings:/home/dan/notecard/notecard/settings' (是否在 sys.path 上?):不支持按文件名导入。
从终端来看,它似乎正在获取多个环境变量。我不知道为什么 - 我认为它应该需要一个匹配的。
我很难弄清楚如何让它工作——最好是通过 Pycharm,但一般来说希望如此。
我显然已经尝试添加所有环境变量,验证 Pycharm 设置并验证我的 manage.py 系统变量信息(以防万一。)
任何帮助,将不胜感激。