Python脚本无法加载Django设置模块 -- 导入错误

2 投票
1 回答
1338 浏览
提问于 2025-04-17 13:43

我在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()

撰写回答