[PyQt] pyqtdeploy: No '_winapi' module

Phil Thompson phil at riverbankcomputing.com
Tue Nov 27 17:16:15 GMT 2018


On 27 Nov 2018, at 2:00 pm, anton.kustov <anton.kustov at banuba.com> wrote:
> 
> Maybe you have to use 'subprocess' to get '_winapi' as dependency.
> 
> I changed Python version in .pdy to be the same as my source Python version.
> But the issue is still exists. If the "Use standard Python shared library"
> checkbox is enabled I have the described issue on startup.
> 
> <http://python.6.x6.nabble.com/file/t380183/win_st_py.png> 
> 
> Traceback (most recent call last):
>  File "bootstrap.py", line 971, in _find_and_load
>  File "bootstrap.py", line 955, in _find_and_load_unlocked
>  File "bootstrap.py", line 656, in _load_unlocked
>  File "bootstrap.py", line 626, in _load_backward_compatible
>  File ":/my_application/__init__.py", line 3, in <module>
>  File "bootstrap.py", line 971, in _find_and_load
>  File "bootstrap.py", line 955, in _find_and_load_unlocked
>  File "bootstrap.py", line 656, in _load_unlocked
>  File "bootstrap.py", line 626, in _load_backward_compatible
>  File ":/platform.py", line 116, in <module>
>  File "bootstrap.py", line 971, in _find_and_load
>  File "bootstrap.py", line 955, in _find_and_load_unlocked
>  File "bootstrap.py", line 656, in _load_unlocked
>  File "bootstrap.py", line 626, in _load_backward_compatible
>  File ":/subprocess.py", line 128, in <module>
>  File "bootstrap.py", line 971, in _find_and_load
>  File "bootstrap.py", line 953, in _find_and_load_unlocked
> ModuleNotFoundError: No module named '_winapi'

You need to make sure Python in your sysroot is built appropriately for the checkbox setting.

> But when this checkbox is disabled I have another issue (during build step): 
> 
> overlapped.obj : error LNK2005: OverlappedType already defined in
> _winapi.obj
> release\EffectConstructor.exe : fatal error LNK1169: one or more multiply
> defined symbols found
> 
> There are 2 files included in generated .pro file:
> 
> SOURCES += sysroot-win-64/src/Python-3.6.7/Modules/_winapi.c
> SOURCES += sysroot-win-64/src/Python-3.6.7/Modules/overlapped.c
> 
> Both of them has the definitions of classes with the same name:
> "OverlappedType".
> 
> How to solve the issue? Static Python library compilation is preferable.

IMHO it is a Python bug, but tonight's snapshot has a workaround.

Phil


More information about the PyQt mailing list