2012-04-17 7 views
1

バージョンをpyodbc経由mod_wsgiをインポートできません。しかし、私は、Apacheから呼び出されたスクリプト内でpyodbcをインポートする時はいつでも私が取得Apacheのエラーログにこれらのエラー:私は驚くべきことではないすべての問題を(示していない依存関係ウォーカーが、それを試してみたは、Windows上のApacheの下

[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] mod_wsgi (pid=3700): Target WSGI script 'C:/Tenor/web/tcwsgi.py' cannot be loaded as Python module. 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] mod_wsgi (pid=3700): Exception occurred processing WSGI script 'C:/Tenor/web/tcwsgi.py'. 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] File "C:/Tenor/web/tcwsgi.py", line 8, in <module> 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1]  import tcweb 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] File "C:\\Tenor\\web\\tcweb.py", line 15, in <module> 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1]  from tc import config, db 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] File "C:\\Tenor\\lib\\tc\\db.py", line 6, in <module> 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1]  import pyodbc 
[Tue Apr 17 10:26:02 2012] [error] [client 127.0.0.1] ImportError: DLL load failed: The specified module could not be found. 

私はをすることができるのでPythonのコマンドラインからpyodbcをインポートします)。私は1つのバージョンのPythonしかインストールしていません。私はサービスとしてもコンソールからも、管理者アカウントでApacheを実行しようとしました。

私は、別のマシンでほぼ同じ設定をしていますが、違いはWindows 2003 Server x86だということです。私たちはWindows 2008 R2に移行しています。プロダクションWebのセットアップをテストしたいと思っていました。

答えて

1

my related postおよびthis post on the pyodbc mailing listを参照してください。

Python27.dllのマニフェストをpyodbc.pydファイルに手作業で埋め込む必要があります。これは、(わかっていれば)さまざまなバージョンのC++コンパイラでコンパイルされたバイナリがあるからです。

これを実行するコマンドはmt.exeで、Visual Studio C++ 2008 Expressが付属しています。

関連する問題