2012-02-29 56 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」部分。