使用mingw安装任何东西时,Python 3.x下的pip或easy_install崩溃

4 投票
1 回答
3105 浏览
提问于 2025-04-17 12:16

我遇到了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去掉。

撰写回答