我正在尝试在Mac上配置Django。
执行“python manage.py syncdb”时,我收到以下错误(摘录):
self.connection = Database.connect(**kwargs)
sqlite3.OperationalError: unable to open database file
我经历过检查的可能原因:
设置数据库部分指向特定文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '%s/db/tumblog.sql' % PROJECT_ROOT, # Or path to database file if using sqlite3.
}
}
我正在使用virtualenv,所以这不是一个权限问题(我认为)。
我在运行syncdb命令之前关闭了settings.py的编辑器。
帮助?
答案 0 :(得分:0)
Sqlite3会自动创建*.db
文件,但不会创建您期望文件db
的目录db/*.db
。
目录PROJECT_ROOT + '/db
是否存在且是否可写?
当然,添加一行
print '%s/db/tumblog.sql' % PROJECT_ROOT
到settings.py并运行并查看路径是否符合预期。