python - 使用 mingw 安装任何东西时,使用 Python 3.x 的 Pip 或 easy_install 会爆炸

标签 python 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 - 使用 mingw 安装任何东西时,使用 Python 3.x 的 Pip 或 easy_install 会爆炸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9130739/

相关文章:

ubuntu - python3.5 的 pip 破坏了 Ubuntu 16.10

python - docker 中挂载的卷中的权限被拒绝

python - 使用pip安装时编译出错

python - 在 python 中解析 json 文件会造成困难

python - 我尝试安装 "pip install mysqlclient"但每次都失败。尝试了所有其他方法,但也没有成功。我应该怎么办?

python - 将私有(private) devpi 服务器与 pipenv 结合使用

python - conda卸载一个包,只卸载一个包

python - 列出 NXOpen 包中的所有模块/子包

python - 使用 pymssql 连接到 SQL Server 实例

python - 为极坐标散点图数据点添加颜色