在Windows 2003 x64上安装pymssql 1.0.2时出错

时间:2012-02-29 07:58:25

标签: python pymssql

我正在尝试在我的Windows 2003 x64中安装最新版本的pymssql(1.0.2)。    但是,我经常收到这个错误:

running install
running build
running build_py
running build_ext
building '_mssql' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-Ic:\Program Files\Microsoft SQL Server\80\Tool
s\DevTools\Include" -Ic:\mssql7\DevTools\Include -Id:\DEVEL\pymssql-DEVTOOLS\INCLUDE -Ic:\Python27\include -Ic:\Python27\PC /Tcmssqldbmodule.c /Fobuil
d\temp.win32-2.7\Release\mssqldbmodule.obj
mssqldbmodule.c
mssqldbmodule.c(50) : fatal error C1083: Cannot open include file: 'sqlfront.h': No such file or directory
error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe"' failed with exit status 2

有什么想法吗?是不是sqlfront.h包含在visual studio 2k8(或任何视觉工作室)的安装中

谢谢!

2 个答案:

答案 0 :(得分:0)

我在Visual Studio 2008,Windows 7 64和Python 2.7(32位)方面遇到了同样的问题。

这是我解决它的步骤:

  1. 安装Visual Studio 2008(32位)。
  2. 安装Visual Studio 6。
  3. 安装Python 2.7(32位)
  4. 下载pymssql(您下载的同一个包)
  5. 尝试编译源代码(就像你收到错误时一样),你会再次得到它。
  6. 在setup.py所在的同一目录下,您应找到名为 mssqldbmodule.c 的文件,然后将其打开。
  7. 将行#include <sqlfront.h>#include <sqldb.h>更改为#include "sqlfront.h"#include "sqldb.h"因此编译器将在本地查找sql​​front.h和sqldb.h文件。
  8. C:\Program Files (x86)\Microsoft Visual Studio\VC98\Include(Visual Studio 6安装)复制文件 sqlfront.h sqldb.h 到您的本地目录(其中setup.py是)。
  9. C:\Program Files (x86)\Microsoft Visual Studio\VC98\Lib复制 NTWDBLIB.LIB 文件 到您的本地目录。
  10. 再次运行setup.py install
  11. 这样您就可以使用不推荐使用的 NTWDBLIB 来编译库,这是pymssql使用的。

答案 1 :(得分:0)

我认为目录<pymssql root>\freetds\vs2008_32\(或<pymssql root>\freetds\vs2008_64\如果使用64位python)尚未设置头文件和库。

关于freetds,请查看README_building_and_developing.rst的“Building FreeTDS”部分。