2012-02-29 102 views
1

我正在尝试在Windows 2003 x64中安装最新版本的pymssql(1.0.2)。 但是,我不断得到这个错误:在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(或任何视觉工作室)

谢谢!

+0

您需要Microsoft SQL Server 2000 Developer Edition。弗里德斯也可能工作;至少它与最新版本的pymssql有关。 – cgohlke 2012-02-29 09:40:50

+0

我有Microsoft SQL Server 2008安装...应该不是已经好了吗? – jaysonpryde 2012-02-29 09:57:55

+1

我不认为SQL 2008会这样做。我把链接到SQL 2000的二进制文件放在http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql。不知道他们是否工作。 – cgohlke 2012-02-29 20:45:12

回答

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. 将文件复制sqlfront.hsqldb.h来自:C:\Program Files (x86)\Microsoft Visual Studio\VC98\Include(Visual Studio的6安装)为您的本地目录(其中setup.py是)。
  9. 复制文件NTWDBLIB.LIBC:\Program Files (x86)\Microsoft Visual Studio\VC98\Lib 到您的本地目录。
  10. 再次运行setup.py install

这样,您将编译使用过时NTWDBLIB这是pymssql使用的一个库。

0

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

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