【问题标题】:error: Unable to find vcvarsall.bat when installing PyMSSQL-2.0.0b1... what am i missing?错误:安装 PyMSSQL-2.0.0b1 时找不到 vcvarsall.bat ...我缺少什么?
【发布时间】:2011-12-16 09:05:59
【问题描述】:

好吧,我正在尝试安装 PyMSSQL-2.0.0b1,但无法实现,出现奇怪的错误...我尝试了一些在 Google 和 StackOverflow 上找到的解决方案,但仍然无法编译...

请问我错过了什么?

( 所以我试过了:

- 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”部分相关的未解决问题(顺便说一句,如果我的理解没问题)

【问题讨论】:

    标签: python sql-server installation pymssql


    【解决方案1】:

    当您为 python 2.7 安装包时,它会搜索 Visual Studio 2008。我所要做的就是在调用 setup.py 之前设置 VS90COMNTOOLS 变量

    如果您安装了 Visual Studio 2010,请执行

    SET VS90COMNTOOLS=%VS100COMNTOOLS%

    或安装 Visual Studio 2012

    SET VS90COMNTOOLS=%VS110COMNTOOLS%

    【讨论】:

    【解决方案2】:

    你安装的是 32 位还是 64 位版本的 python? 请尝试安装 32 位版本。

    【讨论】:

    • 实际上都卸载了,只重新安装32位版本。两者都安装时看起来还有其他一些困难。所以决定只为 Python 和其他库坚持 32 位版本以避免任何不兼容,出于同样的原因,坚持 Python 2.7。
    【解决方案3】:

    您是否已经尝试使用 Visual Studio 附带的编译器而不是 MingW32 进行编译? (文件“vcvarsall.bat”初始化VS的环境)

    Express Versions of Visual Studio 是免费的)

    【讨论】:

    • 不,我没有尝试,我读到我不得不使用 MinGW 来解决另一个兼容性问题(我现在不记得为什么)。我从网上阅读了很多关于这个问题的东西,但不记得我检查过的所有内容。顺便说一句,我不明白为什么在我使用 MinGW32 时它正在搜索 vcvarsall.bat ...
    • VS 似乎是它们的默认值:只有在您不精确地使用 MinGW 时才会搜索 vcvarsall.bat(您可以通过选项“--compiler=mingw32”或文件 distutils.cfg 进行)
    【解决方案4】:

    尝试使用带有 GCC 4.5.2 的 MinGW 版本。

    此版本支持-mno-cygwin 选项并且应该可以正确构建。

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

    我没有修改源压缩包。我刚刚在源目录中运行了以下命令:python setup.py build --compiler=mingw32。我的路径中有C:\MinGW\bin

    注意:我缺少 Cython,所以我下载了 latest version 并使用 MinGW 构建它。我通过运行python setup.py build --compiler=mingw32 做到了这一点。我唯一缺少的其他依赖项是 iconv 库,我使用 these directions 在 MinGW 中构建了它。

    【讨论】:

      【解决方案5】:

      我认为你有错误的版本。

      【讨论】:

      • 如果您阅读下面的文章,您会知道他安装了 32 和 64,并且只安装了 32
      猜你喜欢
      • 1970-01-01
      • 2015-12-15
      • 2014-01-31
      • 2015-12-14
      • 1970-01-01
      • 2019-11-30
      • 2014-01-31
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多