0

現在のシステム: Windows XP / Windows 7 (両方で問題が発生)

次の展開のガイドラインに従った後:

https://devcenter.heroku.com/articles/python

そして、単純なポーリング アプリケーションを使用してテストすることで、ログを確認した後に次のエラーが表示されることを除いて、heorku を介してアプリケーションを正常にプッシュできます。

2012-04-27T08:14:42+00:00 app[web.1]: django.core.exceptions.ImproperlyConfigure
d: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No m
odule named _sqlite3

これは、データベースを同期しようとしたときにも発生します。

settings.py ファイル内のデータベースの現在の構成は次のとおりです。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'database.sqlite', # Or path to database file if using sqlite3.
        'USER': '', # Not used with sqlite3.
        'PASSWORD': '', # Not used with sqlite3.
        'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '', # Set to empty string for default. Not used with sqlite3.
    }
}

私はそれがsqlite3データベースであることを認識しており、herokuがエラーなしでアプリをデプロイできるようにする必要があると言われました。この問題に関連する次の潜在的な解決策を使用してフォローアップしました。

_sqlite3 という名前のモジュールがありません Django プロジェクトで SQLite をセットアップするにはどうすればよいですか? http://groups.google.com/group/django-users/browse_thread/thread/185f981f432346f1

どんな助けでも大歓迎です!追加情報が必要な場合はお知らせください。

4

2 に答える 2

1

Herokuは読み取り専用のファイルシステムしか提供しないため、sqliteをサポートしていません。

于 2012-04-27T11:08:24.520 に答える
0

設定ファイルでも同じエラーが発生しました。Herokuのログを調べると、さまざまな理由でsettings.pyファイルが失敗していることがわかりました。これらの問題を修正すると、Djangoはデータベース設定の欠落について不平を言うのをやめました。

この問題の原因の1つは、QuerySetのテーブルとして副選択を許可するためextra()に使用していたモンキーパッチでした。このパッチは私の設定ファイルの最後にあります。

# Override default behaviour of compiler to quote table names when table name is a sub-query
from django.db.models.sql.compiler import SQLCompiler
_quote_name_unless_alias = SQLCompiler.quote_name_unless_alias
SQLCompiler.quote_name_unless_alias = lambda self,name: name if name.startswith('(') else _quote_name_unless_alias(self,name)

このパッチでは、その時点でDATABASESがすでに正しく指定されている必要があるようです。Herokuは魔法のDATABASES構成を設定ファイルの最後に(つまり、モンキーパッチの後に)追加するため、モンキーパッチの上に手動で構成を挿入する必要がありました。

于 2012-05-29T13:09:04.807 に答える