mar*_*les 4 python linux django environment-variables
我正在使用Django,我正在尝试设置几个环境变量来定义导入的设置.
我使用以下文件夹herarchy:
project_folder>
app_folder>
project_specific_files>
settings>
base.py
local.py
Run Code Online (Sandbox Code Playgroud)
我使用Kenneth Reitz的autoenv来加载我的环境变量.我知道它工作正常,因为我可以键入$ echo $DJANGO_SETTINGS_MODULE,我看到这个输出:
project_specific_files.settings.local
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,$django-admin.py runserver我得到:
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Run Code Online (Sandbox Code Playgroud)
另外,如果我进入python shell并尝试打印出env变量,我会得到以下结果:
Python 2.7.3 (default, Dec 22 2012, 21:14:12)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> print os.environ['HOME']
/home/marco
>>> print os.environ['DJANGO_SETTINGS_MODULE']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/marco/.virtualenvs/myproject/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'DJANGO_SETTINGS_MODULE'
Run Code Online (Sandbox Code Playgroud)
任何人都有任何线索可能是错的?谢谢!
此外,我可以输入$ django-admin.py runserver --settings='project_specific_files.settings.local,一切都会正常工作
您的环境变量是否已导出?
也许环境变量是在当前shell中定义的,但没有标记为要导出到子进程(python解释器或Django).
使用bash,运行: export DJANGO_SETTINGS_MODULE
| 归档时间: |
|
| 查看次数: |
5822 次 |
| 最近记录: |