[PyQt] Building PyQt5 on Windows

Wallboy wallboy at wallboy.ca
Sun Jun 4 12:57:15 BST 2017


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



More information about the PyQt mailing list