Solve obnoxious cx_Freeze issue that broke websockets by enforcing async_mode=gevent, and including the correct modules in the build

This commit is contained in:
Micah Lee 2021-12-21 16:55:59 -08:00
parent c74c23d658
commit 26ad8a22ad
5 changed files with 321 additions and 71 deletions

View file

@ -31,74 +31,14 @@ setup(
options={
"build_exe": {
"packages": [
"cffi", # required
"engineio", # required
"engineio.async_drivers.gevent", # required
"engineio.async_drivers.gevent_uwsgi", # required
"eventlet", # required
"eventlet.wsgi", # required
"jinja2.ext", # required
"onionshare", # required
"onionshare_cli", # required
# "engineio.async_drivers.aiohttp",
# "engineio.async_drivers.sanic",
# "engineio.async_drivers.threading",
# "engineio.async_drivers.tornado",
# "engineio.asyncio_client",
# "eventlet.green.OpenSSL.SSL",
# "eventlet.green.OpenSSL.crypto",
# "eventlet.green.OpenSSL.tsafe",
# "eventlet.green.OpenSSL.version",
# "eventlet.green.thread",
# "eventlet.greenio.base",
# "eventlet.hubs.hub",
# "eventlet.hubs.pyevent",
# "eventlet.queue",
# "eventlet.support.pylib",
# "eventlet.support.stacklesspypys",
# "eventlet.support.stacklesss",
# "eventlet.websocket",
# "eventlet.zipkin._thrift.zipkinCore.constants",
# "eventlet.zipkin._thrift.zipkinCore.ttypes",
# "eventlet.zipkin.client",
# "flask.cli",
# "flask.signals",
# "flask_socketio",
# "itsdangerous._json",
# "jinja2._compat",
# "jinja2.utils",
# "requests.compat",
# "requests.packages",
# "requests.utils",
# "six",
# "socketio.asyncio_aiopika_manager",
# "socketio.asyncio_redis_manager",
# "socketio.kafka_manager",
# "socketio.kombu_manager",
# "socketio.msgpack_packet",
# "socketio.redis_manager",
# "urllib.request",
# "urllib3._collections",
# "urllib3.connection",
# "urllib3.connectionpool",
# "urllib3.contrib.pyopenssl",
# "urllib3.exceptions",
# "urllib3.packages.six",
# "urllib3.packages.ssl_match_hostname",
# "urllib3.poolmanager",
# "urllib3.request",
# "urllib3.response",
# "urllib3.util.queue",
# "urllib3.util.request",
# "urllib3.util.response",
# "werkzeug._compat",
# "werkzeug._reloader",
# "werkzeug.debug.tbtools",
# "werkzeug.http",
# "werkzeug.serving",
# "werkzeug.test",
# "werkzeug.utils",
# "werkzeug.wrappers.json",
"cffi",
"engineio",
"engineio.async_drivers.gevent",
"engineio.async_drivers.gevent_uwsgi",
"gevent",
"jinja2.ext",
"onionshare",
"onionshare_cli",
],
"excludes": ["test", "tkinter"],
"include_files": [("..\LICENSE", "LICENSE")],