-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fail to install PySide6 #64
Comments
Yes, this is a known issue. It's not an issue with rez-pip or rez. It's an issue mainly with PySide. They ship an |
Good to know, is there any known workaround ? |
Not for now unfortunately. I could whip something up though. Thee is two solutions, one of which just came to mind.
Both options have downsides. Option 1 has the downside that I have to maintain it and keep it up to date with upstream. The downside of option 2 is not necessarily linked to option. How will Python react if you install both PySide6 and PySide6-Essentials in the same environment? Both will provide a Though, PySide6 depends on PySide6-Essentials and PySide6-Addons (https://inspector.pypi.io/project/pyside6/6.6.0/packages/14/cd/f8117f92430564af4cb60bc38d93de8dcb1d051c955cf0a62e6563fe7f55/PySide6-6.6.0-cp38-abi3-manylinux_2_28_x86_64.whl/PySide6-6.6.0.dist-info/METADATA#line.41). All in all, I don't really know what we should do. |
Thanks for the explanations even I don't fully understand the issue yet.
which means at some point it combines With my limited knowledge on this issue I would argue that at least having a solution that allows you to retrieve the packages, even in a non-usable state, is better than just failing. The developer can at least use rez-pip as part of the build process and write additional steps to package PySide6 to a functional rez-package. |
All the PySide6 variants ship with the same folder structure.
And so on. The dist-info folders that you see are just packaging metadata, not the actual python packages. A wheel is a zip file with a specified file structure. So installers basically unzip wheels (and do some other work to validate the files and stuff) into the install directory. Pip is less strict than installer and will not complain if it tries to install a file and it already exists (though it might complain down the line, if the file that replaced the existing one is different than the original file. But I don't know if that is really true). |
Ha I see so actually the |
Kind of yes, but it could be debated. Same for the
Yes
No. A hook would potentially do something like merge PySide6 packages into one, because PySide6 is really meant to be distributed this way, in one single root folder and not in multiple separated folders. This could be a pre rez package creation step (after wheels got installed into the temp directory). But I'm not yet convinced that we necessarily need to take the hook route. On top of that, I think we would still be stuck with the issue where PySide can't find shiboken. |
Thinking about this more, a workaround is to install
It's far from ideal though, since you need to depend on |
To fix the problem with
An alternative could be to see if PySide6 could be converted to a namespace package, though I don't think it would work for PySide. |
Thanks for the suggestions I manage to have a custom build working by calling
and then merging the 2 packages with a python script. |
I started some work on a plugin system that could solve this, see #91. |
Hello !
I have been trying to use rez-pip to install
PySide6
:Which fail with the following :
It seems that
PySide6-Addons
is overriding some stuff in the existing__init__.py
of the just-installedPySide6
which does not seem to be expected by rez.I have not investigated further but will report anything I find below.
context
The text was updated successfully, but these errors were encountered: