问题
Well i am trying to install PyMSSQL-2.0.0b1 and can not achieve this, get strange errors... i have tried some solutions found on Google and StackOverflow but still unable to compile...
please what am i missing ?
( so i have tried :
- 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
and still not working )
(also i'm on Windows 7, and i has need third party libs, must stick to 32 bits version and 2.7)
here are some log with errors :
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.
after creating 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
EDIT : looks like an open issue as related to http://bugs.python.org/issue12641 and the '-mno-cygwin' part (btw if my understanding is ok)
回答1:
When you install packages for python 2.7 it searches for Visual Studio 2008. All I had to do to fix this is set the VS90COMNTOOLS variable before calling setup.py
If you have Visual Studio 2010 installed, execute
SET VS90COMNTOOLS=%VS100COMNTOOLS%
or with Visual Studio 2012 installed
SET VS90COMNTOOLS=%VS110COMNTOOLS%
回答2:
Did you install a 32bit or 64bit version of python? Please try to install a 32bit version.
回答3:
Did you already try to compile with compiler shipped with Visual Studio instead of MingW32? (The file "vcvarsall.bat" initializes the environment of VS)
(Express Versions of Visual Studio are free)
回答4:
Try using a MinGW version with GCC 4.5.2.
This version supports the -mno-cygwin
option and should build correctly.
Using this version I successfully built PyMSSQL-2.0.0b1 on Windows 7 64-bit with Python 2.7 32-bit.
I did not modify the source tarball. I just ran the following command in the source directory: python setup.py build --compiler=mingw32
. I have C:\MinGW\bin
in my PATH.
Note: I was missing Cython, so I downloaded the latest version and built it using MinGW as well. I did this by running python setup.py build --compiler=mingw32
. The only other dependency I was missing was the iconv library and I built it inside MinGW using these directions.
回答5:
I think you have wrong version for you bit.
来源:https://stackoverflow.com/questions/7914108/error-unable-to-find-vcvarsall-bat-when-installing-pymssql-2-0-0b1-what-am-i