使用mingw安装任何东西时,Python 3.x下的pip或easy_install崩溃
我遇到了vcvarsall.bat的问题,所以我按照这里的说明进行了操作 如何在使用Pip安装Python包时使用MinGW的gcc编译器?。
现在,当我在Windows 7上用Python 3.2.2运行 pip install 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
完整的输出信息:
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时也会出现同样的问题,但安装像'bible'这样的包时就没有问题。
1 个回答
5
这是一个大家都知道的问题,跟distutils有关:最近的gcc在使用mingw和-mno-cygwin时会出问题。
可以看看相关的StackOverflow问题:用cython和mingw编译时出现gcc: error: unrecognized command line option '-mno-cygwin'。
你可以试着把Mingw32CCompiler中的-mno-cygwin
去掉。