-
Notifications
You must be signed in to change notification settings - Fork 13
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
Regression with PyInstaller (1.0.1 compared to 1.0) #25
Comments
For people coming across this issue, a workaround to this is creating a custom PyInstaller hook with the following contents:
This will force PyInstaller to load the The issue, as @tasn suggested, is that |
imported anywhere but rather used only as a file in setup.py Seems that it's not the case anymore, since |
@igortg Didn't notice that
I can't answer this...I haven't tested making the change it, to be honest. |
It's imported in a weird way (why not a normal import?) that's maybe why it's PyInstaller can't catch it. |
This also breaks PyOxidizer, and possibly also Nuitka. |
I'm also using PyInstaller and hit this issue. I worked around it with a runtime hook: import importlib
import sys
try:
import orderedmultidict # NOQA
except FileNotFoundError:
pass
sys.modules["orderedmultidict"] = importlib.import_module("orderedmultidict.orderedmultidict") |
@bryan-koroleski-fivestars thank you for posting your workaround 🙌 i want to resolve this but, sadly, i dont have the time to fully chase this down right now requests does the same trick, this begs the question: what else does requests do so it doesnt break PyOxidizer, Nuitka, and PyInstaller? |
It looks like the difference here is that requests imports the members of I should have time to put together a quick PR for this tomorrow if it would help. |
yep. and indeed orderedmultidict uses
thank you! 🙏 |
version 1.0.1 Pyinstaller 4.10
|
closing this was fixed with 6d66993 and subsequent commits thank you everyone for weighing in here! 🙏 |
Trying to use PyInstaller to package https://github.com/etesync/etesync-dav I'm getting failures with 1.0.1 but not with 1.0. The error (when running the binary) is:
So essentially PyInstaller can't find the version.py file which usually means it was being imported in some magical way rather than explicitly. Usually just adding import version to init.py fixes such issues (not sure if it is the case here or not).
The text was updated successfully, but these errors were encountered: