2012-02-03 91 views
4

我有vcvarsall.bat问题,所以我按照这里的指示How to use MinGW's gcc compiler when installing Python package using Pip?Pip或Easy_install与Python 3.x爆炸时使用mingw安装任何东西

现在,在Windows 7中使用pip install lxml与Python 3.2.2,当我得到以下错误:

C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python32\include -IC:\Pytho 
n32\PC -c src/lxml/lxml.etree.c -o build\temp.win32-3.2\Release\src\lxml\lxml.et 
ree.o -w 

cc1.exe: error: unrecognized command line option '-mno-cygwin' 

error: command 'gcc' failed with exit status 1 

整个输出:

C:\Python32\Scripts>pip-3.2.exe install lxml 
Downloading/unpacking lxml 
    Real name of requirement lxml is lxml 
    Downloading lxml-2.3.3.tar.gz (3.1Mb): 3.1Mb downloaded 
    Running setup.py egg_info for package lxml 
    Building lxml version 2.3.3. 
    Building without Cython. 
    ERROR: b"'xslt-config' is not recognized as an internal or external command, 
\r\noperable program or batch file.\r\n" 
    ** make sure the development packages of libxml2 and libxslt are installed * 
* 

    Using build configuration of libxslt 

    warning: no files found matching 'lxml.etree.c' under directory 'src\lxml' 
    warning: no files found matching 'lxml.objectify.c' under directory 'src\lxm 
l' 
    warning: no files found matching 'lxml.etree.h' under directory 'src\lxml' 
    warning: no files found matching 'lxml.etree_api.h' under directory 'src\lxm 
l' 
    warning: no files found matching 'etree_defs.h' under directory 'src\lxml' 
    warning: no files found matching 'pubkey.asc' under directory 'doc' 
    warning: no files found matching 'tagpython*.png' under directory 'doc' 
    warning: no files found matching 'Makefile' under directory 'doc' 
Installing collected packages: lxml 
    Running setup.py install for lxml 
    Building lxml version 2.3.3. 
    Building without Cython. 
    ERROR: b"'xslt-config' is not recognized as an internal or external command, 
\r\noperable program or batch file.\r\n" 
    ** make sure the development packages of libxml2 and libxslt are installed * 
* 

    Using build configuration of libxslt 
    building 'lxml.etree' extension 
    C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python32\include -IC:\P 
ython32\PC -c src/lxml/lxml.etree.c -o build\temp.win32-3.2\Release\src\lxml\lxm 
l.etree.o -w 
    cc1.exe: error: unrecognized command line option '-mno-cygwin' 
    error: command 'gcc' failed with exit status 1 
    Complete output from command C:\Python32\python.exe -c "import setuptools;__ 
file__='C:\\Python32\\Scripts\\build\\lxml\\setup.py';exec(compile(open(__file__ 
).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-ext 
ernally-managed --record c:\windows\temp\pip-w4t58y-record\install-record.txt: 
    Building lxml version 2.3.3. 

Building without Cython. 

ERROR: b"'xslt-config' is not recognized as an internal or external command,\r\n 
operable program or batch file.\r\n" 

** make sure the development packages of libxml2 and libxslt are installed ** 



Using build configuration of libxslt 

running install 

running build 

running build_py 

creating build 

creating build\lib.win32-3.2 

creating build\lib.win32-3.2\lxml 

copying src\lxml\builder.py -> build\lib.win32-3.2\lxml 

copying src\lxml\cssselect.py -> build\lib.win32-3.2\lxml 

copying src\lxml\doctestcompare.py -> build\lib.win32-3.2\lxml 

copying src\lxml\ElementInclude.py -> build\lib.win32-3.2\lxml 

copying src\lxml\pyclasslookup.py -> build\lib.win32-3.2\lxml 

copying src\lxml\sax.py -> build\lib.win32-3.2\lxml 

copying src\lxml\usedoctest.py -> build\lib.win32-3.2\lxml 

copying src\lxml\_elementpath.py -> build\lib.win32-3.2\lxml 

copying src\lxml\__init__.py -> build\lib.win32-3.2\lxml 

creating build\lib.win32-3.2\lxml\html 

copying src\lxml\html\builder.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\clean.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\defs.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\diff.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\ElementSoup.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\formfill.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\html5parser.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\soupparser.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\usedoctest.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\_dictmixin.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\_diffcommand.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\_html5builder.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\_setmixin.py -> build\lib.win32-3.2\lxml\html 

copying src\lxml\html\__init__.py -> build\lib.win32-3.2\lxml\html 

creating build\lib.win32-3.2\lxml\isoschematron 

copying src\lxml\isoschematron\__init__.py -> build\lib.win32-3.2\lxml\isoschema 
tron 

copying src\lxml\etreepublic.pxd -> build\lib.win32-3.2\lxml 

copying src\lxml\tree.pxd -> build\lib.win32-3.2\lxml 

copying src\lxml\etree_defs.h -> build\lib.win32-3.2\lxml 

creating build\lib.win32-3.2\lxml\isoschematron\resources 

creating build\lib.win32-3.2\lxml\isoschematron\resources\rng 

copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win 
32-3.2\lxml\isoschematron\resources\rng 

creating build\lib.win32-3.2\lxml\isoschematron\resources\xsl 

copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win32-3 
.2\lxml\isoschematron\resources\xsl 

copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win32-3 
.2\lxml\isoschematron\resources\xsl 

creating build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schematron-xsl 
t1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_e 
xpand.xsl -> build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schematron 
-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_inclu 
de.xsl -> build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schematron-xs 
lt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron 
_message.xsl -> build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schemat 
ron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron 
_skeleton_for_xslt1.xsl -> build\lib.win32-3.2\lxml\isoschematron\resources\xsl\ 
iso-schematron-xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_x 
slt1.xsl -> build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schematron- 
xslt1 

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> 
build\lib.win32-3.2\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 

running build_ext 

building 'lxml.etree' extension 

creating build\temp.win32-3.2 

creating build\temp.win32-3.2\Release 

creating build\temp.win32-3.2\Release\src 

creating build\temp.win32-3.2\Release\src\lxml 

C:\MinGW\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python32\include -IC:\Pytho 
n32\PC -c src/lxml/lxml.etree.c -o build\temp.win32-3.2\Release\src\lxml\lxml.et 
ree.o -w 

cc1.exe: error: unrecognized command line option '-mno-cygwin' 

error: command 'gcc' failed with exit status 1 

---------------------------------------- 
Command C:\Python32\python.exe -c "import setuptools;__file__='C:\\Python32\\Scr 
ipts\\build\\lxml\\setup.py';exec(compile(open(__file__).read().replace('\r\n', 
'\n'), __file__, 'exec'))" install --single-version-externally-managed --record 
c:\windows\temp\pip-w4t58y-record\install-record.txt failed with error code 1 
Storing complete log in C:\Users\x\AppData\Roaming\pip\pip.log 

同样的事情发生与easy_install的,但它当我安装像'圣经'这样的软件包时不会发生。

+0

看起来很直截了当。您是否检查过libxml2和libxslt的开发包是否可用于mingw?这是你需要的。 – jlafay 2012-02-03 15:07:36

+0

你是对的,我只是做到了。我仍然得到错误。来自http://xmlsoft.org/sources/win32/的libxslt软件包没有提供缺少的xslt-config,我仍然得到'无法识别的命令行选项'-mno-cygwin'错误。 – joshj 2012-02-03 15:14:19

+0

您可能还想检查它是否为已安装的_dev_软件包。我相信这些将与主要的lib软件包分开。我在mingw方面经验不深,所以我不确定你还有什么可以尝试的。我使用Windows进行python开发,我只是使用Windows的Python安装。如果这是python的初始安装,我会尝试,如果可能的话。你只需要确保你的所有依赖关系都能在windows上得到满足。我在pypi上遇到过很少的软件包,这些软件包无法与我需要的窗口一起工作。 – jlafay 2012-02-03 15:18:44

回答

5

这是一个已知的distutils问题:mingw & -mno-cygwin with recent gcc

查看相关SO问题:Compiling with cython and mingw produces gcc: error: unrecognized command line option '-mno-cygwin'

尝试从Mingw32CCompiler删除-mno-cygwin

+1

@ user175492:是的,大多数搜索引擎都会从-mno-cygwin中搜索任何* not *包含的“mno-cygwin”。把它放在引号中也会起作用。 – 2012-02-03 17:45:34

+0

不错,但没有解决我的问题。但我认为它带给我的前进。谢谢。 – 2013-06-06 11:34:07

+0

如何从Mingw32CCompiler中删除'-mno-cygwin'?如果可以用cmd命令完成,那么请说明。 – 2015-07-12 15:50:11