我从我的流浪服务器启动我的IPython笔记本,如下所示:
ipython notebook --ip='*'
当我尝试导入Django模块时,我得到ImproperlyConfigured
异常:
NotperlyConfigured:请求设置DATABASES,但设置为 没有配置。您必须定义环境变量 DJANGO_SETTINGS_MODULE或在访问之前调用settings.configure() 设置。
从普通的Shell开始,我只运行export DJANGO_SETTINGS_MODULE=web.settings
,然后我可以从任何Python解释器加载Django模块,但是,这不适用于笔记本。
我尝试在笔记本中运行以下内容,但无济于事:
!export DJANGO_SETTINGS_MODULE=web.settings
!DJANGO_SETTINGS_MODULE=web.settings
那么,如何在IPython Notebook中设置环境变量,以便导入Django模块?
答案 0 :(得分:5)
您应该可以使用os.environ
:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings")
我想"!export"方式不起作用,因为它产生一个子进程来执行这些命令,子进程不会影响其父进程的环境