尝试配置Django时Sqlite3操作错误

时间:2012-04-07 14:22:28

标签: python django sqlite

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

帮助?

1 个答案:

答案 0 :(得分:0)

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

目录PROJECT_ROOT + '/db是否存在且是否可写?

当然,添加一行

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

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