Python脚本无法加载Django设置模块 -- 导入错误
我在Mac OS X上做一个Django项目,使用虚拟环境,并且有一些普通的Python脚本需要运行,主要是用来处理数据。不过,每次我尝试运行这些脚本,特别是那些需要用到Django的,比如导入模型时,都会出现这个错误:
ImportError: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named myproject.settings
我在脚本的开头加了以下几行:
import sys
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
sys.path.append("path/to/project/")
我甚至打印了sys.path,能看到myproject的文件夹路径在里面。但还是出现同样的错误。有没有什么建议我可以尝试的?
当我运行 python -m modulefinder my-script.py
时,我看到的模块来自我的根Python路径(默认是Enthought发行版)和我的虚拟环境路径。
1 个回答
2
你需要运行 django.setup() 这个命令。
import os
import django
# Connect to the Django Database
script_path = os.path.dirname(__file__)
os.environ['DJANGO_SETTINGS_MODULE']='myapp.settings'
django.setup()