编程语言
首页 > 编程语言> > 使用mingw安装任何内容时,使用Python 3.x的Pip或easy_install会爆炸

使用mingw安装任何内容时,使用Python 3.x的Pip或easy_install会爆炸

作者:互联网

我有vcvarsall.bat问题,所以我按照这里的指示How to use MinGW’s gcc compiler when installing Python package using Pip?.

现在,在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也会发生同样的事情,但是当我安装像’bible’这样的软件包时就不会发生这种情况.

解决方法:

这是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.

标签:python,pip,python-3-x,easy-install
来源: https://codeday.me/bug/20190621/1251253.html