Файл PyQt5.sip PyQt5 не создается библиотекой SIP - PullRequest
0 голосов
/ 17 сентября 2018

Я собираю SIP 4.19.12 и PyQt 5.11.2 для Windows 10 с Visual Studio 2017. Я планирую сделать это для Python x86 2.7.15.Я скачал версии выше и распаковал их, установил enum34 с pip, настроил SIP с

python configure.py --sip-module PyQt5.sip --no-tools

Это SIP 4.19.12 для Python 2.7.15 на win32.

Модуль PyQt5.sip будет установлен в

C: \ Users \ FiFo \ AppData \ Local \ Programs \ Python \ Python27 \ Lib \ site-packages \ PyQt5.

Файл sip.pyiЗаглушка будет установлена ​​в

C: \ Users \ FiFo \ AppData \ Local \ Programs \ Python \ Python27 \ Lib \ site-packages \ PyQt5.

Каталог по умолчанию для установки .sipфайлы в

C: \ Users \ FiFo \ AppData \ Local \ Programs \ Python \ Python27 \ sip.Создание

sipconfig.py ... Создание Makefile верхнего уровня ... Создание SIP-кода

генератор Makefile ... Создание модуля SIP Makefile ...

Настройте среду сборки x86 с помощью

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86

. Далее следует nmake:

Утилита обслуживания программ Microsoft (R), версия 14.15.26729.0 Copyright (C) Microsoft Corporation.Все права защищены.

    cd siplib
    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe

Утилита обслуживания программ Microsoft (R), версия 14.15.26729.0 Copyright (C) Microsoft Corporation.Все права защищены.

    cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSIP_MODULE_NAME=\"PyQt5.sip\" -I. -IC:\Users\FiFo\AppData\Local\Programs\Python\Python27\include -Fo @C:\Users\FiFo\AppData\Local\Temp\nm8C0F.tmp siplib.c apiversions.c

descriptors.c qtlib.c threads.c objmap.c voidptr.c array.c

int_convertors.c Создание кода ...

    cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -W3 -w34100 -w34189 -DNDEBUG -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DSIP_MODULE_NAME=\"PyQt5.sip\" -I. -IC:\Users\FiFo\AppData\Local\Programs\Python\Python27\include -Fo @C:\Users\FiFo\AppData\Local\Temp\nm9111.tmp bool.cpp

    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:sip.pyd.manifest /SUBSYSTEM:CONSOLE /INCREMENTAL:NO

/ OUT: sip.pyd @C: \ Users \ FiFo \ AppData \ Local \ Temp \ nm9170.tmp Создание

библиотеки sip.lib и объекта sip.exp

    mt -nologo -manifest sip.pyd.manifest -outputresource:sip.pyd;2

Затем установил пакеты с помощью nmake install:

Утилита обслуживания программ Microsoft (R), версия 14.15.26729.0 Copyright (C) Microsoft Corporation.Все права защищены.

    cd siplib
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe"

установка

Утилита обслуживания программ Microsoft (R) Версия 14.15.26729.0 Copyright (C) Microsoft Corporation.Все права защищены.

    copy /y sip.pyd C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5\sip.pyd
    1 file(s) copied.
    copy /y D:\opencv\sip-4.19.12\sip.pyi C:\Users\FiFo\AppData\Local\Programs\Python\Python27\Lib\site-packages\PyQt5\sip.pyi
    1 file(s) copied.
    C:\Users\FiFo\AppData\Local\Programs\Python\Python27\python.exe

D: \ opencv \ sip-4.19.12 \ mk_distinfo.py "" C: \ Users \ FiFo \ AppData \ Local \ Programs \ Python \ Python27 \ Lib \ site-packages \ PyQt5_sip-4.19.12.dist-info instal.txt

D: \ opencv \ sip-4.19.12 \ sipgen> pip freeze

backports.functools-lru-cache ==1.5 cycler == 0.10.0 enum34 == 1.1.6 kiwisolver == 1.0.1 matplotlib == 2.2.3 numpy == 1.15.1 Подушка == 5.2.0 pynaoqi == 2.1.4.13 pyparsing == 2.2.0 PyQt5-sip == 4.19.12 python-dateutil == 2.7.3 pytz == 2018,5 шесть == 1.11.0

Но я не могу найти этот файл PyQt5.sip в любом месте.Сборка PyQt дает:

D: \ opencv \ PyQt5_gpl-5.11.2> python configure.py Запрос qmake о вашей установке Qt ... Ошибка: Невозможно импортировать PyQt5.sip.Убедитесь, что вы настроили SIP для создания частной копии модуля sip.

1 Ответ

0 голосов
/ 17 сентября 2018

Это была ошибка в стабильной версии. Авторы предложили скачать последний снимок, который работал. Другое решение будет:

"создать пустой __ init__.py файл в той же директории, содержащей sip.pyd."

После этого я настроил:

python configure.py --qmake d:\qt5_32\bin\qmake.exe --static --sip-incdir ..\sip-4.19.13.dev1809111822\siplib --sip d:\opencv\sip-4.19.13.dev1809111822\sipgen\sip.exe --confirm-license
...