You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Launching an exe created by PyInstaller results in:
Traceback (most recent call last):
File "main.py", line 35, in <module>
from zeroconf import ServiceBrowser, ServiceListener, Zeroconf
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "zeroconf\__init__.py", line 26, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "zeroconf\_core.py", line 32, in <module>
File "PyInstaller\loader\pyimod02_importers.py", line 419, in exec_module
File "zeroconf\_engine.py", line 38, in <module>
File "src\\zeroconf\\_listener.py", line 1, in init zeroconf._listener
File "src\\zeroconf\\_services\\info.py", line 1, in init zeroconf._services.info
ModuleNotFoundError: No module named 'zeroconf._utils.ipaddress'
[11808] Failed to execute script 'main' due to unhandled exception!
The exact same error happens if using import zeroconf.
For some reason, the only file in the zeroconf/_utils folder is time.cp312-win_amd64.pyd (notice there is no ipaddress module there)
Ok, it turns out PyInstaller didn't find parts of it. Workaround:
a = Analysis(
...
hiddenimports=[
'zeroconf._utils.ipaddress', # and potentially others in .venv\Lib\site-packages\zeroconf\_utils, but that seems to pull in every pyd file
'zeroconf._handlers.answers', # and potentially others in .venv\Lib\site-packages\zeroconf\_handlers, but that seems to pull in every pyd file
# and potentially others in _protocol or _services in .venv\Lib\site-packages\zeroconf\, but the above imports seem to pull in every pyd file from these
],
...
These imports allowed the following parts to work: from zeroconf import ServiceBrowser, ServiceListener, Zeroconf. However, other components may require more as noted in the comments above.
A full solution would be to add PyInstaller hooks to zeroconf (I may try to learn how...) if that is able to deal with the issue.
Uh oh!
There was an error while loading. Please reload this page.
Environment
zeroconf.__version__
'0.132.2'Description
Launching an exe created by PyInstaller results in:
import zeroconf
.Related issues
The text was updated successfully, but these errors were encountered: