在Windows 7上导出DJANGO_SETTINGS_MODULE
我正在尝试运行一个依赖于 Django 项目导入的 pyunit 单元测试。
因为 DJANGO_SETTINGS_MODULE 没有设置,所以我需要先导出这个变量,于是我运行了:
set DJANGO_SETTINGS_MODULE=C:/bobbapython/boon/cms.settings
这个路径指向项目根目录,也就是 .settings 文件夹所在的位置。
我还尝试过:
set DJANGO_SETTINGS_MODULE=C:/bobbapython/boon/cms/.settings
我也试过用 \ 代替 /,但都没有成功。
当我通过命令行运行这个脚本时,出现了这个错误信息:
Traceback (most recent call last):
File "manager/tests/test_user_api/generate_testdata.py", line 12, in <module>
from django import db
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 11, in <module>
if DEFAULT_DB_ALIAS not in settings.DATABASES:
File "C:\Python27\lib\site-packages\django\utils\functional.py", line 184, in inner
self._setup()
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "C:\Python27\lib\site-packages\django\conf\__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'C:/bobbapython/boon/cms.settings' (Is it on sys.path?): Import by filename is not supported.
有没有什么建议,告诉我可能哪里做错了,以及怎么解决这个问题?
2 个回答
0
DJANGO_SETTINGS_MODULE 不是一个文件路径,而是一个 Python 模块的引用。
'C:/bobbapython/boon' 这个路径应该在你的 PYTHONPATH 里,然后 DJANGO_SETTINGS_MODULE 就应该写成 'cms.settings'。
0
问题的解决方法是把包含settings.py文件的文件夹添加到Python的路径中,然后把设置模块改成“settings”。我使用了以下代码:
path = 'C:\\bobbapython\\boon\\cms\\src\\boon_cms'
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
一旦我这样做了,文件就能完美运行了。