SIP库未生成PyQt5的PyQt5.sip文件

时间:2018-09-17 02:27:53

标签: python pyqt5 python-sip

我正在使用Visual Studio 2017在Windows 10上构建SIP 4.19.12和PyQt 5.11.2。我打算针对Python x86 2.7.15进行此操作。 我下载了上面的版本并解压缩了它们,并使用pip安装了enum34,并使用了

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

这是win32上适用于Python 2.7.15的SIP 4.19.12。

  

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代码

     

generator Makefile ...正在创建sip模块Makefile ...

使用xp建立x86构建环境

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

接着是nmake:

  

Microsoft(R)程序维护实用程序版本14.15.26729.0   版权所有(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   版权所有(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线程.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   版权所有(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   版权所有(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   已安装.txt

     

D:\ opencv \ sip-4.19.12 \ sipgen> pip冻结

     

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 six == 1.11.0

但是我在任何地方都找不到该PyQt5.sip文件。构建PyQt可以:

  

D:\ opencv \ PyQt5_gpl-5.11.2> python configure.py查询关于   您的Qt安装...错误:无法导入PyQt5.sip。确保   您已经配置了SIP以创建sip模块的私有副本。

1 个答案:

答案 0 :(得分:2)

这是稳定版本的错误。作者建议下载有效的最新快照。另一个解决方案是:

“在包含sip.pyd的同一目录中创建一个空的__ init__.py文件。”

之后,我配置了:

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