2011-02-25 11 views
1

私は他の人に似た問題を抱えていますが、Windowsで不平を言う人はいますが、Windowsの問題は解決されているようです。 psycopg2の新しいバージョン。UbuntuのApache2.2 + psycopg2.2.2 + mod_wsgiでの問題

基本的には、配備されたアプリケーションにアクセスしようとしているだけで、ログに以下の情報が表示されます。

[Fri Feb 25 16:29:26 2011] [error] [client 5.7.0.205] TemplateSyntaxError: Caught ImproperlyConfigured while rendering: 'django.db.backends.postgresql_psycopg2' isn't an available database backend. 
[Fri Feb 25 16:29:26 2011] [error] [client 5.7.0.205] Try using django.db.backends.XXX, where XXX is one of: 
[Fri Feb 25 16:29:26 2011] [error] [client 5.7.0.205]  'dummy', 'mysql', 'oracle', 'postgresql', 'postgresql_psycopg2', 'sqlite3' 
[Fri Feb 25 16:29:26 2011] [error] [client 5.7.0.205] Error was: cannot import name utils 

私は依存関係と、そのようなを取得するために、ビルドアウトを使用して、すべてが正常にインストール持っているようです。私は正常に自分のデータベースに対してsyncdbを実行し、テーブルが作成されるのを見ることもできました。

私はpostgresql_psycopg2を使用するように設定しているという事実に問題があるのはなぜですか?特別なことをすることさえしません。私は "myserver /"または "myserver/admin"または "myserver/whesshellcares"を要求することができ、私はいつも同じ500エラーを取得します。

Apacheが行っている限り、私はすでに設定されている基本的なサイトを使い、単純にWSGIScriptAliasを追加してwsgiファイルを指しています。私はWSGIDaemonProcessを使って、特定のユーザ(www-data)をプロセスの実行対象としてみましたが、何の効果もありませんでした。

ご意見やご協力をお待ちしております。

+0

あなたはそれを把握しましたか?私は同じ問題に直面しています –

答えて

0

Windows以外のシステムでは、32対64ビットの問題があります。

で説明したようにWSGIのHello Worldスクリプトを作成します:あなたはハロー世界スクリプトが動作していたら、それはあなたが使用していることを検証したいpsycopg2モジュールの輸入

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide

は、開始時に追加それはインポートすることができます。使用するインポートが、pyscopy2クライアントモジュールのC拡張子.soのインポートを強制するようにします。

エラーが発生した場合は、Apacheエラーログでエラーが発生する可能性があります。 Djangoは実際のエラーを隠すことがあります。

+0

Helloworld w/psycopg2はうまく働いています。 – Chris

+0

インポート後にsys.modules.keys()を出力します。 psycopg2のC拡張子.soが実際にロードされているかどうかを確認してください。私はそれの名前が何であるべきか覚えていない、それは_pyscopg2のようなものになるだろう。表示されていない場合は、トップレベルのpsycopg2をインポートしてインポートし、問題が発生していないかどうかを確認してください。 –

+0

sys.modules.keys()に ".so"拡張子が付いていません。 psycopg2への参照は、psycopg2.tz、psycopg2、psycopg2.time、psycopg2.decimal、psycopg2._psycopg、psycopg2.psycopg2、psycopg2.warnings、psycopg2.extensions、psycopg2.datetime、psycopg2.sysです。 私のhelloworldアプリケーションは正常に動作しますが、バックエンドを読み込もうとしている私の他のアプリは一貫して失敗します。 :/ – Chris