0

我正在尝试在我的 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 的编辑器。

帮助?

4

1 回答 1

0

Sqlite3 会*.db自动创建文件,但不会创建db您期望文件所在的目录db/*.db

该目录是否PROJECT_ROOT + '/db存在并且对您是否可写?

当然,添加一行

print '%s/db/tumblog.sql' % PROJECT_ROOT

到 settings.py 并运行,看看路径是否符合您的预期。

于 2012-04-07T15:02:26.277 回答