更正mt.exe语法来解决pyodbc导入问题

我第一次在Windows上部署Python应用程序(Apache&mod_wsgi / Flask / Sqlalchemy)。

我想使用pyodbc让Sqlalchemy与mssql交谈。

我能够安装pyodbc的二进制版本没有问题,并从命令行使用它时,它的工作原理。 但是,mod_wsgi在import pyodbc时会logging导入错误

pyodbc问题跟踪器上的这个线程完全描述了我的问题,似乎涉及Windows清单。 但是,我不知道如何使用mt.exe来解决它。

在PowerShell中:

 C:\my\site-packages> C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\mt.exe -inputresource:c:\Windows\SysWOW64\python27.dll;#2 -manifest -outputresource:pyodbc.pyd#2' mt.exe : command line error c10100a9: Some operation on the input manifests must be specified (even if it is just to pipe the input to the output). Use the /? option for help on usage and samples.` 

在cmd中:

 C:\my\site-packages>"C:\Program Files\Microsoft SDKs"\Windows\v7.1\Bin\mt.exe -inputresource:C:\Windows\SysWOW64\python27.dll#2 -outputresource:pyodbc.pyd#2 mt.exe : general error c101008c: Failed to read the manifest from the resource of file "C:\Windows\SysWOW64\python27.dll#2". The system cannot find the file specified. 

我究竟做错了什么?!

Solutions Collecting From Web of "更正mt.exe语法来解决pyodbc导入问题"

我是pyodbc问题跟踪器上线程的作者。

除非我失去了一些东西,它看起来像文件“ C:\ Windows \ SysWOW64 \ python27.dll ”不存在。 也许你有2.7以外的版本?

否则,请确保已经安装了python的官方windows包,并验证导入pyodbc成功与该版本。 如果是这样,你应该能够从python安装根目录或其他地方将路径替换为本地python.dll(例如python27.dll)。

那么,这是令人尴尬的:我似乎错过了一些分号。 我知道我至少会正确地运行这个命令几次,所以我会在注意到语法错误之前列出我改变的其他东西:

  • 确定一切都是32位的
  • 已下载的Visual Studio C ++ 2008 Express(以前只是运行VC ++ 2008 redistributable,这给了我一个不同版本的mt.exe)
  • 卸载任何与“2010”和“C ++”的名称
  • 在cmd中运行命令; 无论出于何种原因,在PowerShell中根本不起作用。

再次感谢Alfred在pyodbc邮件列表中的详细和有用的信息。