ошибка: не удается найти vcvarsall.bat при установке PyMSSQL-2.0.0b1 ... что мне не хватает? - PullRequest
3 голосов
/ 27 октября 2011

Ну, я пытаюсь установить 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' (кстати, если мое понимание в порядке)

Ответы [ 5 ]

4 голосов
/ 22 февраля 2013

Когда вы устанавливаете пакеты для python 2.7, он ищет Visual Studio 2008. Все, что мне нужно было сделать, это исправить - установить переменную VS90COMNTOOLS перед вызовом setup.py

Если у вас установлена ​​Visual Studio 2010, выполните

SET VS90COMNTOOLS =% VS100COMNTOOLS%

или с установленной Visual Studio 2012

SET VS90COMNTOOLS =% VS110COMNTOOLS%

0 голосов
/ 10 ноября 2011

Я думаю, что вы выбрали неверную версию.

0 голосов
/ 08 ноября 2011

Вы уже пытались скомпилировать компилятор, поставляемый с Visual Studio вместо MingW32? (Файл vcvarsall.bat инициализирует среду VS)

( Express версии Visual Studio бесплатны)

0 голосов
/ 08 ноября 2011

Попробуйте использовать версию MinGW с GCC 4.5.2 .

Эта версия поддерживает опцию -mno-cygwin и должна корректно собираться.

Используя эту версию, я успешновстроенный PyMSSQL-2.0.0b1 в Windows 7 64-bit с Python 2.7 32-bit.

Я не изменял исходный архив.Я только что выполнил следующую команду в исходном каталоге: python setup.py build --compiler=mingw32.У меня есть C:\MinGW\bin в моем ПУТИ.

Примечание : мне не хватало Cython, поэтому я скачал последнюю версию и собрал ее также с использованием MinGW.Я сделал это, запустив python setup.py build --compiler=mingw32.Единственной другой зависимостью, которую мне не хватало, была библиотека iconv, и я построил ее внутри MinGW, используя в этих направлениях .

0 голосов
/ 04 ноября 2011

Вы устанавливали 32-битную или 64-битную версию python? Пожалуйста, попробуйте установить 32-битную версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...