2012-02-03 88 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