[PyQt] Building PyQt5 on Windows

Wallboy wallboy at wallboy.ca
Sun Jun 4 13:41:38 BST 2017


I have figured out the PyCharm issue. I had to completely delete the 
python_stubs folder and let PyCharm remake the skeletons/stubs. So all 
is good now on that end of things. Still would like to know a little 
more on my last question:

Also one other question. What would happen if I tried to build PyQt5 
against the newest 5.9 Qt binaries? The entire reason I'm doing all this 
for a custom build, is that I need to disable WebRTC in QtWebEngine 
(this is now doable as of 5.9 using -no-webrtc in configure).

Would it be possible to build just the WebEngine module for 5.9 and 
overwrite the QWeb*.dll files with the 5.9 ones? (Though I'm guessing 
-no-webrtc only affects the chromium QtWebEngineProcess.exe binary) Or 
is this just asking for trouble...

I'm not sure how the QWeb*.pyd and QWeb*.dll files work with one 
another. I'm guessing it just glues together the python function names 
to the actual C++ function names? If that's the case, and I use a newer 
DLL file, then I just wouldn't have access to any new functions that 
might have got added correct? Though I'm sure it's not that simple...

I'm new to this whole build process/bindings stuff, but trying to learn.

Thanks for your help so far


On 6/4/2017 5:57 AM, Wallboy wrote:
> No, I thought maybe the DLLs were different then the ones Qt provides. 
> What are those DLL files in the /release directories for then if we 
> just use Qt's already built DLLs?
>
> I have added Qt's bin folder to my PATH env and my programs seem to be 
> working. However in my IDE (PyCharm), I am still getting Unresolved 
> reference warnings on all my PyQt5.* imports. Though PyQt5 is working 
> even with the warnings. I'm not sure if this is a virtualenv / PyCharm 
> quirk? I do have the correct interpreter selected. Any ideas?
>
> Also one other question. What would happen if I tried to build PyQt5 
> against the newest 5.9 Qt binaries? The entire reason I'm doing all 
> this for a custom build, is that I need to disable WebRTC in 
> QtWebEngine (this is now doable as of 5.9 using -no-webrtc in configure).
>
> Would it be possible to build just the WebEngine module for 5.9 and 
> overwrite the QWeb*.dll files with the 5.9 ones? (Though I'm guessing 
> -no-webrtc only affects the chromium QtWebEngineProcess.exe binary) Or 
> is this just asking for trouble...
>
> I'm not sure how the QWeb*.pyd and QWeb*.dll files work with one 
> another. I'm guessing it just glues together the python function names 
> to the actual C++ function names? If that's the case, and I use a 
> newer DLL file, then I just wouldn't have access to any new functions 
> that might have got added correct? Though I'm sure it's not that 
> simple...
>
> I'm new to this whole build process/bindings stuff, but trying to learn.
>
> Thanks for your help so far
>
> On 6/4/2017 2:22 AM, Phil Thompson wrote:
>> On 4 Jun 2017, at 1:57 am, Wallboy <wallboy at wallboy.ca> wrote:
>>> "ImportError: DLL load failed: The specified module could not be 
>>> found."
>>>
>>> The exact same issue as explained here: 
>>> https://github.com/pyqt/python-qt5/wiki/Updating-the-repository#bundling. 
>>> How is it to know where to find the DLLs? I see them all generated 
>>> in the build /release folders, but they are not copied to the 
>>> correct location after nmake install? The wheels version has an 
>>> actual __init__.py file pointing to the Qt directory containing all 
>>> those dlls. Whereas my __init__.py file doesn't have that at all. 
>>> You mentioned only the commercial version does this for you. So for 
>>> the non commercial version, we are just expected to know how to 
>>> manually copy the DLL files to the correct location?
>> No, nmake install copies everything to where it needs to be.
>>
>>> I must be missing something or doing something wrong.
>> Yes. Is the Qt bin directory on PATH?
>>
>> Phil
>
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt



More information about the PyQt mailing list