问题
I had the vcvarsall.bat problem, so I followed the directions here How to use MinGW's gcc compiler when installing Python package using Pip? .
Now, when using pip install lxml
with Python 3.2.2 on Windows 7 I get the following error:
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
The entire output:
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
The same thing happens with easy_install, but it doesn't happen when I install a package like 'bible'.
回答1:
It is a known issue with distutils: mingw & -mno-cygwin with recent gcc.
See related SO question: Compiling with cython and mingw produces gcc: error: unrecognized command line option '-mno-cygwin'.
Try to remove -mno-cygwin
from Mingw32CCompiler.
来源:https://stackoverflow.com/questions/9130739/pip-or-easy-install-with-python-3-x-explode-when-installing-anything-using-mingw