[PyQt] Building PyQt5 on Windows
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?
More information about the PyQt