開発者ツールが関係するため、ここで次の質問をします。
Ubuntu 10.04 LTS ワークステーションを 12.04 LTS (32 ビット) にアップグレードしました。今日、エラーなしで動作している Django Web アプリケーションを試してみました。Apache上で実行されています。
アプリケーションが機能しなくなり、エラーが返されます。私は一連のエラーを処理してきましたが、すべて/var/log/apache2/error.log
.
最初のエラーは、UCS2 と UCS4 に関係していました (読みやすくするために行をトリミングしています)。
ImportError: /usr/local/lib/python2.7/lib-dynload/_io.so:
undefined symbol: PyUnicodeUCS2_FromObject
mod_wsgi (pid=9246): Target WSGI script
'/usr/local/www/wsgi-scripts/wsgi_amr_handler.py'
cannot be loaded as Python module.
これは、mod_wsgi の最新バージョンを再ビルドして再インストールすることで解消されました。
現在のエラーは、mysqldb が有効なバックエンドではないことに関係しています。エラーは次のとおりです(わかりやすくするためにタイムスタンプを削除しています):
backend = load_backend(db['ENGINE'])
File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 51,
in load_backend
raise ImproperlyConfigured(error_msg)
ImproperlyConfigured: 'mysql' isn't an available database backend.
Try using django.db.backends.mysql instead.
Error was: No module named mysql.base
これは、Django アプリケーションの settings.py などの構成の問題ですか?
Python 2.7、mod_wsgi、Django、および mysqldb のインストール順序はありますか?それが問題になる可能性はありますか?
これが私の現在の(コメントを受け取った後の)settings.pyです
DATABASES = {
'default': {
'ENGINE': ' django.db.backends.mysql',
'NAME': 'server', # Or path to database file if using sqlite3.
'USER': 'ox', # Not used with sqlite3.
'PASSWORD': 'xxxx', # Not used with sqlite3.
'HOST': '',
'PORT': '',
}
}
エラーは次のとおりです。
ImproperlyConfigured: ' django.db.backends.mysql' isn't an available database backend.
Try using django.db.backends.XXX, where XXX is one of:
'dummy', 'mysql', 'oracle', 'postgresql_psycopg2', 'sqlite3'
Error was: No module named django.db.backends.mysql.base