【问题标题】:Cannot import pyodbc via mod_wsgi under Apache on Windows无法在 Windows 上的 Apache 下通过 mod_wsgi 导入 pyodbc
【发布时间】:2012-04-17 14:44:03
【问题描述】:

版本:

Windows 2008 R2 x64
Apache 2.2.19 x86
Python 2.7.3 x86
mod_wsgi-win32-ap22py27-3.3.so
pyodbc-3.0.5.win32-py2.7

我已经验证了 Apache 可以使用 mod_wsgi 调用 Python,并且还验证了我可以从命令行导入 Python 中的 pyodbc。但是,每当我在从 Apache 调用的脚本中导入 pyodbc 时,我都会在 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.

我已经尝试过 Dependency Walker,但它没有显示任何问题(这并不奇怪,因为我可以从 Python 命令行导入 pyodbc)。我只安装了一个版本的 Python。我已尝试将 Apache 作为服务和从管理员帐户下的控制台运行。

我在另一台机器上有几乎相同的设置,不同之处在于它是 Windows 2003 Server x86。我们正在迁移到 Windows 2008 R2,我想测试生产网络设置,但现在卡住了。

【问题讨论】:

    标签: python apache mod-wsgi pyodbc


    【解决方案1】:

    请参阅 my related postthis post on the pyodbc mailing list

    由于(如果我理解正确的话)二进制文件是使用不同版本的 C++ 编译器编译的,因此您需要手动将 Python27.dll 中的清单嵌入到 pyodbc.pyd 文件中。

    执行此操作的命令是 mt.exe,它带有 Visual Studio C++ 2008 Express。

    【讨论】:

      猜你喜欢
      • 2016-04-20
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多