Closed hhslepicka closed 4 years ago
@ccordoba12 @mingwandroid can it be that the fix to avoid the static Python is resulting in a Designer Plugin that was not linked against the shared library provided?
You probably need to add again what you did before because the recipe for 5.9 is not an improvement over the 5.6 one, but it was taken directly from Anaconda.
@ccordoba12 I’m not sure if I understood what you said correctly. Do you mean the patch that I had on the old PR to link against the python shared library?
Yes, that's what I meant. Sorry if I was not clear enough.
I was just confirming to be sure... I will put a PR up soon.
The xref'ed PR was close. Is this no longer an issue? Can we close it?
It is still an issue. At least for who uses the designer plugin. PR was closed as the solution was not accepted so it is better to wait for an official patch from maintainers. (my 2cents)
It is still an issue. At least for who uses the designer plugin.
Can you past the conda list from that environment?
PR was closed as the solution was not accepted so it is better to wait for an official patch from maintainers. (my 2cents)
I'll look into the PR but maybe those who close could chime in here.
I'll look into the PR but maybe those who close could chime in here.
https://github.com/conda-forge/pyqt-feedstock/pull/54#discussion_r285350107
The author himself closed the PR.
@ocefpaf the conda list is at the beginning of this issue. And @ccordoba12 is correct. I closed the PR that I opened with the proposed fix.
@hhslepicka maybe
@ocefpaf the conda list is at the beginning of this issue.
That was from 10 days ago and we have new packages.
And @ccordoba12 is correct. I closed the PR that I opened with the proposed fix.
Looks like we need an alternative fix b/c that one is a no-no according to @isuruf. But before we try to fix it please try again with the new packages.
@ocefpaf do you mind to point me to the release notes of this new package or the version of it? I am currently using a similar fix at the one at this PR to build a local PyQt against qt (from source) using Anaconda & Python. So far no weird issues and crashes as reported by @isuruf but I do understand the risks of mixing shared and static of a library.
I would like to understand why Python was switched to static linking (which is the root of this and other issues around the Anaconda ecosystem) but that is something that I need to study and look for the answer.
@ocefpaf the latest pyqt package is from 16 days ago so I was at the latest by the time of this issue. https://anaconda.org/conda-forge/pyqt/files
Any lucky from someone to find a proper fix for it? The fix that I proposed at #54 worked for me and I used it without problems for a bit more than a month (I am no longer using it since I needed to move to a newer version of Qt & PyQt).
I'm also experiencing this on OSX, with the designer failing to load the pyqt plugin.
The only fix I've found so far is reverting to a very old pyqt5 through anaconda (specifically, pyqt-5.6.0-py37h8210e8a_7.tar.bz2
), which doesn't seem to be a good long-term solution.
@conda-forge/pyqt ideas?
Are these plugins loaded as an extension or are they loaded by qt designer only?
Designer only... it is a plugin for QtDesigner so it can load widgets and other code made with PyQt.
Then, we can make plugins/designer/libpyqt5.dylib
link to libpython
and keep the rest as is. I don't know how to do this though.
My old PR (https://github.com/conda-forge/pyqt-feedstock/pull/54) was doing this... the one you mentioned that would cause a conflict... Since that is not loaded by Python I think there is no problem into merging it. Do you mind to take another look with this new information in mind?
@hhslepicka, doesn't that PR make the python extensions link to libpython.so
as well?
@isuruf which extensions are you concerned about? I was running with the fix on PR 54 for a while.
Any library in lib/python3.7/site-packages/PyQt5
They don't link against libpython.so
.
The only one that does is that cursed plugin.
To be fair... Only the QtDesigner and QMLScene will link to libpython.so
.
Here is the proof: https://github.com/baoboa/pyqt5/search?q=PYSHLIB&unscoped_q=PYSHLIB
Indeed. conda-build log shows
INFO (pyqt,plugins/designer/libpyqt5.so): Needed DSO lib/libpython2.7.so.1.0 found in conda-forge::python-2.7.15-h5a48372_1009
INFO (pyqt,plugins/PyQt5/libpyqt5qmlplugin.so): Needed DSO lib/libpython2.7.so.1.0 found in conda-forge::python-2.7.15-h5a48372_1009
Issue:
When loading the QtDesigner with custom python widgets it fails with the following message:
This was not happening with PyQt 5.6 and Qt 5.6.
Environment (
conda list
):Details about
conda
and system (conda info
):