Closed lukasvasadi closed 3 years ago
Thanks for the report! Strictly, this isn't a bug - it's "working as expected", as wsgiref
is explicitly excluded from the support package on macOS and iOS.
That said - if packages like gcsfs
are using wsgiref
because it contains useful WSGI/HTTP utility methods, then we may need to reconsider the inclusion of wsgiref
in the support package. It's only 68k of code, and it's pure Python, so it's probably worth it.
I'll also move this ticket to the Python-Apple-support repo, since that's where the underlying problem lies.
I've just removed wsgiref
from the exclusions list, and published new versions of the support packages. Let us know if you have any further problems!
Thanks for your help! That fixed the issue with wsgiref
. Unfortunately, I am now running into a similar ModuleNotFoundError with another package: _scproxy
. This module is referenced by aiohttp, which also provides HTTP support for Python. Is it possible to remove this module from the exclusions list, assuming it has been blacklisted?
I want to say thanks for your fast response and quick turnaround time. So far, I have been very impressed with briefcase—especially compared to other Python packaging tools—and plan to use it for all of my future Python app deployment!
_scproxy
is a slightly different case, because it's not a first class module that was being explicitly excluded; it's an internal utility module that wasn't being compiled at all. This has been logged independently as #127; I think I know what needs to be done, so watch that ticket for updates.
Great, thanks so much! I will keep an eye on that ticket.
Describe the bug My application uses the gcsfs package for accessing Google Cloud Storage. This package in turn has dependency google-auth-oauthlib, which relies on a module called wsgiref. Previously,
wsgiref
had to be installed manually for Python 2—however, it is now available in the Python 3 standard library. The application runs as expected in developer mode (briefcase dev
), but returns a ModuleNotFoundError in the crash report when run as a packaged app (briefcase run
):To Reproduce This error can be reproduced simply by packaging any application that imports
gcsfs
. I recommend creating the helloworld app from the beginner tutorial and addingimport gcsfs
inapp.py
. The script should execute normally in developer mode, but produce the same traceback when run as the packaged version.Environment:
Additional context This cannot be fixed simply by including
wsgiref
in the toml dependency list, as this package is part of the Python standard library and cannot be installed via pip.