2011-10-27 155 views
3

嗯,我想安裝PyMSSQL-2.0.0b1,並不能實現這一點,得到奇怪的錯誤...我試過一些解決方案,發現谷歌和StackOverflow,但仍然無法編譯...錯誤:安裝PyMSSQL-2.0.0b1時無法找到vcvarsall.bat ...我錯過了什麼?

請什麼我錯過了?

( ,所以我曾嘗試:

- to add --compiler=mingw32 after setup.py install build 
- to create a distutils.cfd file in Python27\lib\distutils\distutils.cfg with 
    [build] 
    compiler=mingw32 

,但仍不能工作 )

(也我是在Windows 7上,我有需要的第三方庫,一定要堅持到32位版本2.7)

這裏有一些日誌有錯誤:

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>setup.py install build 
running install 
running bdist_egg 
running egg_info 
writing pymssql.egg-info\PKG-INFO 
writing top-level names to pymssql.egg-info\top_level.txt 
writing dependency_links to pymssql.egg-info\dependency_links.txt 
reading manifest file 'pymssql.egg-info\SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
writing manifest file 'pymssql.egg-info\SOURCES.txt' 
installing library code to build\bdist.win32\egg 
running install_lib 
running build_ext 
skipping '_mssql.c' Cython extension (up-to-date) 
building '_mssql' extension 
error: Unable to find vcvarsall.bat 

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>setup. 
py install build --compiler=mingw32 
running install 
running bdist_egg 
running egg_info 
writing pymssql.egg-info\PKG-INFO 
writing top-level names to pymssql.egg-info\top_level.txt 
writing dependency_links to pymssql.egg-info\dependency_links.txt 
reading manifest file 'pymssql.egg-info\SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
writing manifest file 'pymssql.egg-info\SOURCES.txt' 
installing library code to build\bdist.win32\egg 
running install_lib 
running build_ext 
skipping '_mssql.c' Cython extension (up-to-date) 
building '_mssql' extension 
c:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Users\MyUserName\Desktop\laur 
ent.CTV\python\pymssql-2.0.0b1-dev-20111019\win32\freetds\include -IC:\Python27\ 
include -IC:\Python27\PC -c _mssql.c -o build\temp.win32-2.7\Release\_mssql.o -D 
MSDBLIB -Wl,-allow-multiple-definition -Wl,-subsystem,windows-mthreads -mwindows 
-Wl,--strip-all 
cc1.exe: erreur: unrecognized command line option '-mno-cygwin' 
error: command 'gcc' failed with exit status 1 

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>python 

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win 
32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^Z 

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>gcc --version 
gcc (GCC) 4.6.1 
Copyright © 2011 Free Software Foundation, Inc. 
Ce logiciel est libre; voir les sources pour les conditions de copie. Il n'y a 
PAS 
GARANTIE; ni implicite pour le MARCHANDAGE ou pour un BUT PARTICULIER. 

創建disutils.cfg

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>setup.py install build 
running install 
running bdist_egg 
running egg_info 
writing pymssql.egg-info\PKG-INFO 
writing top-level names to pymssql.egg-info\top_level.txt 
writing dependency_links to pymssql.egg-info\dependency_links.txt 
reading manifest file 'pymssql.egg-info\SOURCES.txt' 
reading manifest template 'MANIFEST.in' 
writing manifest file 'pymssql.egg-info\SOURCES.txt' 
installing library code to build\bdist.win32\egg 
running install_lib 
running build_ext 
skipping '_mssql.c' Cython extension (up-to-date) 
building '_mssql' extension 
c:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Users\MyUserName\Desktop\laur 
ent.CTV\python\pymssql-2.0.0b1-dev-20111019\win32\freetds\include -IC:\Python27\ 
include -IC:\Python27\PC -c _mssql.c -o build\temp.win32-2.7\Release\_mssql.o -D 
MSDBLIB -Wl,-allow-multiple-definition -Wl,-subsystem,windows-mthreads -mwindows 
-Wl,--strip-all 
cc1.exe: erreur: unrecognized command line option '-mno-cygwin' 
error: command 'gcc' failed with exit status 1 

C:\Users\MyUserName\Desktop\downloaded\python\pymssql-2.0.0b1-dev-20111019>type c:\Python27\lib\distutils\distutils.cfg 
[build] 
compiler=mingw32 

編輯後:貌似爲相關http://bugs.python.org/issue12641和「-mno-cygwin的」部分(順便說一句,如果我的理解是確定)

回答

0

你安裝一個開放的問題32位或64位版本的Python? 請嘗試安裝32位版本。

+0

實際上同時卸載,然後重新安裝只有32位版本。看起來安裝時還有其他一些困難。因此,決定堅持使用32位版本,僅針對Python和其他庫,以避免任何不兼容,出於同樣的原因,堅持使用Python 2.7。 – lctv31

0

您是否已經嘗試使用Visual Studio代替MingW32附帶的編譯器進行編譯? (文件 「vcvarsall.bat」 初始化VS的環境)

Express Versions of Visual Studio都是免費的)

+0

不,我沒有嘗試,我讀過,我不得不使用MinGW的東西像另一個兼容性問題(我只是不記得爲什麼現在)。我從網上閱讀了很多有關這個問題的內容,但不記得我查過的所有內容。順便說一句,我不明白爲什麼它是搜索vcvarsall.bat,而我使用MinGW32 ... – lctv31

+0

VS似乎是他們的默認值:vcvarsall.bat只搜索,如果你不精確使用MinGW(你做的選項「--compiler = mingw32」或文件distutils.cfg) – gecco

0

嘗試使用MinGW的版本GCC 4.5.2

該版本支持-mno-cygwin選項,並且應該正確構建。

使用此版本,我在Windows 7 64位和Python 2.7 32位上成功構建了PyMSSQL-2.0.0b1

我沒有修改源代碼tarball。我只是在源目錄中運行以下命令:python setup.py build --compiler=mingw32。我的路徑中有C:\MinGW\bin

注意:我錯過了Cython,所以我下載了latest version並使用MinGW構建它。我通過運行python setup.py build --compiler=mingw32來完成此操作。我唯一缺少的其他依賴項是iconv庫,我使用these directions將它建在MinGW中。

-1

我認爲你有錯誤的版本給你。

+0

如果你閱讀下面的內容,你會知道他安裝了32和64,而且只有32 –

4

當您安裝python 2.7的軟件包時,它將搜索Visual Studio 2008.所有我必須要解決的問題是在調用安裝程序之前設置VS90COMNTOOLS變量。PY

如果你有Visual Studio 2010的安裝,執行

SET VS90COMNTOOLS=%VS100COMNTOOLS%

或與Visual Studio 2012安裝

SET VS90COMNTOOLS=%VS110COMNTOOLS%

+0

另外,我發現這個鏈接在Windows上很有用。它有.exe安裝程序,而不是你的標準python軟件包。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql – Zach

相關問題