使用PIP安装pyside - 未找到nmake

时间:2015-11-24 17:22:37

标签: python pip pyside

我想使用PIP包管理器安装PySide。但它得到这个错误消息,说它没有找到nmake。这并不奇怪,因为我没有安装MSVC,也不打算。

Installing collected packages: pyside
  Running setup.py install for pyside
    Removing c:\users\cnyffele\appdata\local\temp\pip_build_cnyffele\pyside\pyside_package
    Python architecture is 32bit
    nmake not found. Trying to initialize the MSVC env...
    Searching MSVC compiler version 9.0
    error: Failed to find the MSVC compiler version 9.0 on your system.

然而,setup.py程序可以简单地运行make:

C:\Users\cnyffele>where make
C:\MinGW32-xy\bin\make.exe

C:\Users\cnyffele>where mingw32-make
C:\MinGW32-xy\bin\mingw32-make.exe

但出于某种原因,它坚持认为,如果平台是" win32"它应该使用msvc而不尝试其他任何东西。但它接受命令行选项:我可以指定" make-spec"成为" mingw" (见下文)。

来自https://github.com/PySide/pyside-setup/blob/master/setup.py

OPTION_MAKESPEC = option_value("make-spec")

...

if sys.platform == "win32":
    if OPTION_MAKESPEC is None:
        OPTION_MAKESPEC = "msvc"
    if not OPTION_MAKESPEC in ["msvc", "mingw"]:
        print("Invalid option --make-spec. Available values are %s" % (["msvc", "mingw"]))
        sys.exit(1)

如何在使用PIP安装时使setyp.py使用正确的make?有没有办法让PIP在运行时为setup.py提供命令行选项?如果无法做到这一点,如何在PIP下载后手动运行setup.py?

1 个答案:

答案 0 :(得分:3)

PIP允许通过选项'--global-option'和'--install-option'传递选项,如pip reference guide中所述。

解决方案是:

pip install --global-option="--make-spec=mingw" PySide

其他一些信息:

  • 在使用pip安装PySide之前,您必须安装cmakeQt 4.8
  • 构建错误阻止我直接通过pip下载和安装PySide。我需要从pypi.python.org
  • 下载wheel二进制包

使用预先下载的.whl包,假设包位于当前工作目录中:

pip install --global-option="--make-spec=mingw" PySide-1.2.4-cp27-none-win32.whl