0

どこでもpythonのチュートリアルでデータベースを同期しようとしています。すべてのコンテンツを削除し、チュートリアルを数回再開しました。

python ./manage.py syncdb

03:23 ~ $ cd mysite
03:23 ~/mysite $ ls
__init__.py __init__.pyc manage.py media settings.py settings.pyc static testdb urls.py urls.pyc
03:23 ~/mysite $ python ./manage.py syncdb
Traceback (most recent call last):
File "./manage.py", line 14, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 56, in handle_noargs
cursor = connection.cursor()
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/__init__.py", line 250, in cursor
cursor = self.make_debug_cursor(self._cursor())
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/sqlite3/base.py", line 207, in _cursor
self.connection = Database.connect(**kwargs)
sqlite3.OperationalError: unable to open database file
03:24 ~/mysite $ 
4

1 に答える 1

0

この問題を引き起こす可能性のあるいくつかのことがあります。

  1. settings.py で sqlite ファイルへの相対パスを使用している場合は、絶対パスに変更してみてください。

    ~/project/mydata.db使用する代わりに/home/user/project/mydata.db

  2. 権限が正しく設定されていないと、ファイルへの書き込みに問題が発生する可能性があります。これを試して:

    sudo python manage.py syncdb

    それが機能する場合、解決する必要があるのは単純なアクセス許可エラーです。

  3. プロジェクトのディレクトリ ファイル名とデータベース ファイルの間に名前の競合がある可能性があります。settings.py のデータベース名がプロジェクト名と同じ場合は、.dbファイル名に a を追加してみてください。

    IE

    プロジェクト名:test

    データベース名test.db

于 2014-11-24T03:40:34.737 に答える