Установка pyside с использованием PIP - nmake не найден
Я хочу установить PySide с помощью диспетчера пакетов PIP. Но он получает это сообщение об ошибке, в котором говорится, что не нашел 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)
Как я могу заставить setyp.py использовать правильную марку при установке с PIP? Есть ли способ, чтобы PIP предоставлял параметры командной строки для setup.py при его запуске? Если это невозможно, как я могу запустить setup.py вручную после загрузки PIP?
1 ответ
PIP позволяет передавать параметры для настройки через параметры "--global-option" и "--install-option", как описано в справочном руководстве по pip.
Решение:
pip install --global-option="--make-spec=mingw" PySide
Некоторая дополнительная информация:
- Перед установкой PySide с использованием pip вам необходимо установить cmake и Qt 4.8.
- Ошибки сборки не позволили мне загрузить и установить PySide напрямую через pip. Мне нужно было загрузить бинарные пакеты с сайта pypi.python.org.
Используя предварительно загруженный пакет.whl, предполагая, что пакет находится в текущем рабочем каталоге:
pip install --global-option="--make-spec=mingw" PySide-1.2.4-cp27-none-win32.whl