├── .gitignore ├── .streamlit └── config.toml ├── README.md ├── app.py ├── build └── run_app │ ├── Analysis-00.toc │ ├── EXE-00.toc │ ├── PKG-00.toc │ ├── PYZ-00.pyz │ ├── PYZ-00.toc │ ├── base_library.zip │ ├── localpycs │ ├── pyimod01_archive.pyc │ ├── pyimod02_importers.pyc │ ├── pyimod03_ctypes.pyc │ ├── pyimod04_pywin32.pyc │ └── struct.pyc │ ├── run_app.exe.manifest │ ├── run_app.pkg │ ├── warn-run_app.txt │ └── xref-run_app.html ├── dist ├── .streamlit │ └── config.toml ├── app.py └── run_app.exe ├── hooks ├── __pycache__ │ └── hook-streamlit.cpython-39.pyc └── hook-streamlit.py ├── op.bat ├── run_app.py └── run_app.spec /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | -------------------------------------------------------------------------------- /.streamlit/config.toml: -------------------------------------------------------------------------------- 1 | [global] 2 | developmentMode = false 3 | 4 | [server] 5 | port = 8502 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Streamlit to Executable 2 | #### [Tutorial](https://youtu.be/G7Qeg_rbYM8) 3 | 4 | ## Create a Virtual Environment 5 | 6 | ```bash 7 | pyenv virtualenv . 8 | # or 9 | python -m venv . 10 | # THE DOT IS IMPORTANT! 11 | ``` 12 | 13 | # Activate the Virtual Environment 14 | 15 | ```bash 16 | pyenv activate 17 | # or 18 | .\\Scripts\\activate.bat 19 | ``` 20 | 21 | # Verify the Virtual Environment 22 | 23 | ```bash 24 | python --version 25 | ``` 26 | 27 | # Deactivate the Virtual Environment 28 | 29 | ```bash 30 | pyenv deactivate 31 | # or 32 | .\\Scripts\\deactivate.bat 33 | ``` 34 | 35 | # Install Streamlit and Other Required Libraries 36 | 37 | ```bash 38 | # You can use the latest version 39 | pip install streamlit pyinstaller 40 | ``` 41 | 42 | # Add the Main File (app.py) 43 | 44 | ```bash 45 | echo > app.py 46 | ``` 47 | 48 | # Create an Entry Point for the Executable (run_app.py) 49 | 50 | ```bash 51 | echo > run_app.py 52 | ``` 53 | 54 | # Add Content to Your Files 55 | 56 | - app.py: 57 | 58 | ```python 59 | import streamlit as st 60 | 61 | if __name__ == '__main__': 62 | st.header("Hello, World!") 63 | ``` 64 | 65 | - run_app.py 66 | 67 | ```python 68 | from streamlit.web import cli 69 | 70 | # This import path depends on your Streamlit version 71 | if __name__ == '__main__': 72 | cli._main_run_clExplicit('app.py', args=['run']) 73 | # We will CREATE this function inside our Streamlit framework 74 | 75 | ``` 76 | 77 | # Navigate to the Streamlit Path 78 | 79 | In the version we are using, it is located at: `.env\Lib\site-packages\streamlit\web\cli.py` 80 | 81 | # Add the Magic Function 82 | ```python 83 | # ... def main(log_level="info"): 84 | # [...] 85 | # You can use any name you prefer as long as it starts with an underscore 86 | def _main_run_clExplicit(file, is_hello, args=[], flag_options={}): 87 | bootstrap.run(file, is_hello, args, flag_options) 88 | 89 | # ...if __name__ == "__main__": 90 | # ... main() 91 | ``` 92 | 93 | # Create a Hook to Get Streamlit Metadata 94 | 95 | - .\hooks\hook-streamlit.py 96 | ```python 97 | from PyInstaller.utils.hooks import copy_metadata 98 | 99 | datas = copy_metadata('streamlit') 100 | ``` 101 | 102 | # Compile the App 103 | Run the following command to create the first run_app.spec file. 104 | Note that if you are using auto-py-to-exe, you can't edit spec files here; 105 | you should edit them from the interface in the advanced options. 106 | 107 | ```bash 108 | pyinstaller --onefile --additional-hooks-dir=./hooks run_app.py --clean 109 | # --onefile: Create a single output file 110 | # --clean: Delete cache and remove temporary files before building 111 | # --additional-hooks-dir: An additional path to search for hooks. This option can be used multiple times. 112 | ``` 113 | 114 | # Create Streamlit Configuration Files 115 | 116 | You can add these files to your project's root and the output folder, or just the output folder. 117 | 118 | - .streamlit\config.toml 119 | ```bash 120 | [global] 121 | developmentMode = false 122 | 123 | [server] 124 | port = 8502 125 | ``` 126 | 127 | # Copy the Configuration Files to the Output Folder 128 | ```bash 129 | xcopy /s /e .streamlit output/.streamlit 130 | # Select D = directory 131 | ``` 132 | 133 | # Copy app.py to the Output Folder 134 | ```bash 135 | copy app.py output/app.py 136 | ``` 137 | 138 | # Add the Data to the New Hook in run_app.spec 139 | ```python 140 | ... 141 | a = Analysis( 142 | ... 143 | datas=[ 144 | (".env/Lib/site-packages/altair/vegalite/v5/schema/vega-lite-schema.json", 145 | "./altair/vegalite/v5/schema/"), 146 | (".env/Lib/site-packages/streamlit/static", 147 | "./streamlit/static"), 148 | (".env/Lib/site-packages/streamlit/runtime", 149 | "./streamlit/runtime"), 150 | ] 151 | ... 152 | ) 153 | ... 154 | 155 | ``` 156 | # Notes 157 | ```python 158 | # 159 | # this path pair should be in that way 160 | # but I believe it is because we add the tuple as this templete 161 | # (absolut_path, parent_path) 162 | # so for files that is in the root of `Lib/site-packages` 163 | # We can add only the dot as parent 164 | # i.e: (".envir/Lib/site-packages/wmi.py",".") 165 | # for folders the behaviour is the same 166 | ``` 167 | 168 | # Build the Executable 169 | 170 | ```bash 171 | pyinstaller run_app.spec --clean 172 | ``` 173 | 174 | ## 🎈 It's done! run your run_app.exe file and see the magic 🪄 175 | 176 |
Huge Thanks To: hmasdev
177 | 
I'm organizing the solution from  hmasdev in the Streamlit Forum
178 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | import streamlit as st 2 | if __name__ == '__main__': 3 | st.header("Hello world") -------------------------------------------------------------------------------- /build/run_app/PYZ-00.pyz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/PYZ-00.pyz -------------------------------------------------------------------------------- /build/run_app/base_library.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/base_library.zip -------------------------------------------------------------------------------- /build/run_app/localpycs/pyimod01_archive.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/localpycs/pyimod01_archive.pyc -------------------------------------------------------------------------------- /build/run_app/localpycs/pyimod02_importers.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/localpycs/pyimod02_importers.pyc -------------------------------------------------------------------------------- /build/run_app/localpycs/pyimod03_ctypes.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/localpycs/pyimod03_ctypes.pyc -------------------------------------------------------------------------------- /build/run_app/localpycs/pyimod04_pywin32.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/localpycs/pyimod04_pywin32.pyc -------------------------------------------------------------------------------- /build/run_app/localpycs/struct.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/localpycs/struct.pyc -------------------------------------------------------------------------------- /build/run_app/run_app.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | true 28 | 29 | 30 | -------------------------------------------------------------------------------- /build/run_app/run_app.pkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/build/run_app/run_app.pkg -------------------------------------------------------------------------------- /build/run_app/warn-run_app.txt: -------------------------------------------------------------------------------- 1 | 2 | This file lists modules PyInstaller was not able to find. This does not 3 | necessarily mean this module is required for running your program. Python and 4 | Python 3rd-party packages include a lot of conditional or optional modules. For 5 | example the module 'ntpath' only exists on Windows, whereas the module 6 | 'posixpath' only exists on Posix systems. 7 | 8 | Types if import: 9 | * top-level: imported at the top-level - look at these first 10 | * conditional: imported within an if-statement 11 | * delayed: imported within a function 12 | * optional: imported within a try-except-statement 13 | 14 | IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for 15 | tracking down the missing module yourself. Thanks! 16 | 17 | missing module named _posixshmem - imported by multiprocessing.resource_tracker (conditional), multiprocessing.shared_memory (conditional) 18 | missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional) 19 | missing module named 'java.lang' - imported by platform (delayed, optional), xml.sax._exceptions (conditional) 20 | missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level) 21 | missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level) 22 | missing module named _posixsubprocess - imported by subprocess (optional), multiprocessing.util (delayed) 23 | missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level) 24 | excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level) 25 | missing module named pep517 - imported by importlib.metadata (delayed) 26 | missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional) 27 | missing module named resource - imported by posix (top-level) 28 | missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed, optional), subprocess (optional) 29 | missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), subprocess (optional), netrc (delayed, conditional), getpass (delayed), http.server (delayed, optional), webbrowser (delayed), distutils.util (delayed, conditional, optional) 30 | missing module named org - imported by pickle (optional) 31 | missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level) 32 | missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level) 33 | missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) 34 | missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) 35 | missing module named pyimod02_importers - imported by C:\Users\vitim\Tutorial JVCSS\.env\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (top-level), C:\Users\vitim\Tutorial JVCSS\.env\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (top-level) 36 | missing module named _manylinux - imported by pkg_resources._vendor.packaging.tags (delayed, optional), packaging._manylinux (delayed, optional) 37 | missing module named termios - imported by getpass (optional), tty (top-level), click._termui_impl (conditional) 38 | missing module named readline - imported by cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional) 39 | missing module named __builtin__ - imported by pkg_resources._vendor.pyparsing (conditional) 40 | missing module named ordereddict - imported by pkg_resources._vendor.pyparsing (optional) 41 | missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level) 42 | missing module named 'win32com.shell' - imported by pkg_resources._vendor.appdirs (conditional, optional) 43 | missing module named 'com.sun' - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional) 44 | missing module named com - imported by pkg_resources._vendor.appdirs (delayed) 45 | missing module named win32api - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional) 46 | missing module named win32com - imported by pkg_resources._vendor.appdirs (delayed) 47 | missing module named _winreg - imported by platform (delayed, optional), tzlocal.win32 (optional), pkg_resources._vendor.appdirs (delayed, conditional), pygments.formatters.img (optional) 48 | missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level) 49 | missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level) 50 | missing module named vms_lib - imported by platform (delayed, optional) 51 | missing module named java - imported by platform (delayed) 52 | missing module named _scproxy - imported by urllib.request (conditional) 53 | missing module named simplejson - imported by requests.compat (conditional, optional) 54 | missing module named dummy_threading - imported by requests.cookies (optional) 55 | missing module named StringIO - imported by six (conditional), urllib3.packages.six (conditional) 56 | runtime module named urllib3.packages.six.moves - imported by http.client (top-level), urllib3.util.response (top-level), urllib3.connectionpool (top-level), 'urllib3.packages.six.moves.urllib' (top-level), urllib3.util.queue (top-level) 57 | missing module named brotli - imported by urllib3.util.request (optional), urllib3.response (optional) 58 | missing module named brotlicffi - imported by urllib3.util.request (optional), urllib3.response (optional) 59 | missing module named Queue - imported by urllib3.util.queue (conditional) 60 | missing module named "'urllib3.packages.six.moves.urllib'.parse" - imported by urllib3.request (top-level), urllib3.poolmanager (top-level) 61 | missing module named socks - imported by urllib3.contrib.socks (optional) 62 | missing module named 'typing.io' - imported by importlib.resources (top-level) 63 | missing module named cryptography - imported by urllib3.contrib.pyopenssl (top-level), requests (conditional, optional) 64 | missing module named 'OpenSSL.crypto' - imported by urllib3.contrib.pyopenssl (delayed) 65 | missing module named 'cryptography.x509' - imported by urllib3.contrib.pyopenssl (delayed, optional) 66 | missing module named 'cryptography.hazmat' - imported by urllib3.contrib.pyopenssl (top-level) 67 | missing module named 'OpenSSL.SSL' - imported by urllib3.contrib.pyopenssl (top-level) 68 | missing module named OpenSSL - imported by urllib3.contrib.pyopenssl (top-level) 69 | missing module named chardet - imported by requests.compat (optional), requests (optional), requests.packages (optional), pygments.lexer (delayed, conditional, optional) 70 | missing module named urllib3_secure_extra - imported by urllib3 (optional) 71 | missing module named google.protobuf.enable_deterministic_proto_serialization - imported by google.protobuf (optional), google.protobuf.internal.api_implementation (optional) 72 | missing module named 'gitdb_speedups._perf' - imported by gitdb.stream (optional), gitdb.pack (optional) 73 | missing module named gitdb_speedups - imported by gitdb.fun (optional) 74 | missing module named sha - imported by gitdb.util (delayed, optional) 75 | missing module named git.refs.RemoteReference - imported by git.refs (conditional), git.refs.symbolic (delayed, conditional), git.refs.head (conditional), git.objects.submodule.util (conditional), git.remote (top-level) 76 | missing module named _typeshed - imported by git.objects.fun (conditional) 77 | missing module named git.refs.SymbolicReference - imported by git.refs (conditional), git.refs.log (conditional), git.refs.tag (conditional), git.objects.commit (conditional), git.repo.fun (top-level), git.remote (top-level) 78 | missing module named git.objects.Object - imported by git.objects (top-level), git.refs.symbolic (top-level), git.index.base (top-level), git.repo.fun (top-level) 79 | missing module named git.objects.TagObject - imported by git.objects (conditional), git.refs.tag (conditional), git.repo.fun (conditional), git.types (conditional) 80 | missing module named git.refs.TagReference - imported by git.refs (conditional), git.refs.symbolic (delayed, conditional), git.repo.base (top-level), git.remote (top-level) 81 | missing module named git.refs.Reference - imported by git.refs (conditional), git.refs.symbolic (delayed, conditional), git.repo.base (top-level), git.remote (top-level) 82 | missing module named git.refs.Head - imported by git.refs (conditional), git.refs.symbolic (delayed, conditional), git.objects.submodule.util (conditional), git.objects.submodule.base (conditional), git.repo.base (top-level), git.remote (top-level) 83 | missing module named git.refs.HEAD - imported by git.refs (delayed), git.refs.symbolic (delayed), git.repo.base (top-level) 84 | missing module named git.objects.Commit - imported by git.objects (conditional), git.refs.head (conditional), git.refs.tag (conditional), git.diff (conditional), git.index.base (top-level), git.repo.base (top-level), git.repo.fun (conditional), git.types (conditional) 85 | missing module named git.index.IndexFile - imported by git.index (conditional), git.objects.submodule.base (conditional), git.index.util (conditional), git.repo.base (top-level) 86 | missing module named git.GitCmdObjectDB - imported by git (conditional), git.objects.fun (conditional) 87 | missing module named git.Remote - imported by git (conditional), git.refs.remote (conditional), git.objects.submodule.util (conditional) 88 | missing module named traitlets - imported by pandas.io.formats.printing (delayed, conditional), pydeck.widget.widget (top-level) 89 | missing module named ipywidgets - imported by pydeck.widget.widget (top-level), rich.live (delayed, conditional, optional) 90 | missing module named 'IPython.display' - imported by pydeck.io.html (delayed), rich.jupyter (delayed, optional), rich.live (delayed, conditional, optional), altair.vegalite.v4.display (delayed), altair.vegalite.v4.api (delayed), altair.vegalite.v3.display (delayed), altair.vegalite.v3.api (delayed), altair.vega.v5.display (delayed) 91 | missing module named plotly - imported by streamlit.type_util (conditional) 92 | missing module named pandas.Float64Index - imported by pandas (conditional), pandas.core.dtypes.generic (conditional), pandas.core.internals.blocks (conditional), pandas.core.internals.array_manager (conditional), pandas.core.indexes.datetimes (conditional) 93 | missing module named 'matplotlib.figure' - imported by pandas.plotting._misc (conditional), pandas.plotting._matplotlib.tools (conditional), pandas.plotting._matplotlib.misc (conditional), streamlit.elements.pyplot (conditional) 94 | missing module named 'matplotlib.axes' - imported by pandas.plotting._misc (conditional), pandas.plotting._matplotlib.tools (conditional), pandas.plotting._matplotlib.misc (conditional), pandas.plotting._matplotlib.timeseries (conditional), pandas.plotting._matplotlib.core (delayed, conditional), pandas.plotting._matplotlib.boxplot (conditional), pandas.plotting._matplotlib.hist (conditional) 95 | missing module named numba - imported by pandas.core._numba.executor (delayed, conditional), pandas.core.util.numba_ (delayed, conditional), pandas.core.groupby.numba_ (delayed, conditional), pandas.core.window.numba_ (delayed, conditional), pandas.core.window.online (delayed, conditional), pandas.core._numba.kernels.mean_ (top-level), pandas.core._numba.kernels.shared (top-level), pandas.core._numba.kernels.min_max_ (top-level), pandas.core._numba.kernels.sum_ (top-level), pandas.core._numba.kernels.var_ (top-level) 96 | missing module named six.moves.range - imported by six.moves (top-level), dateutil.rrule (top-level) 97 | runtime module named six.moves - imported by dateutil.tz.tz (top-level), dateutil.tz._factories (top-level), dateutil.tz.win (top-level), dateutil.rrule (top-level) 98 | missing module named dateutil.tz.tzfile - imported by dateutil.tz (top-level), dateutil.zoneinfo (top-level) 99 | missing module named 'IPython.core' - imported by pandas.io.formats.printing (delayed, conditional), rich.pretty (delayed, optional), altair.utils.core (delayed, conditional), altair._magics (top-level) 100 | missing module named IPython - imported by pandas.io.formats.printing (delayed), altair._magics (top-level) 101 | missing module named pytest - imported by pandas._testing._io (delayed), pandas._testing (delayed) 102 | missing module named sets - imported by pytz.tzinfo (optional) 103 | missing module named UserDict - imported by pytz.lazy (optional) 104 | missing module named numpy.ndarray - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level), pandas.compat.numpy.function (top-level), streamlit.elements.arrow (top-level) 105 | missing module named sphinx - imported by pyarrow.vendored.docscrape (delayed, conditional) 106 | missing module named 'scipy.sparse' - imported by pandas.core.arrays.sparse.array (conditional), pandas.core.arrays.sparse.scipy_sparse (delayed, conditional), pandas.core.arrays.sparse.accessor (delayed), pandas.core.dtypes.common (delayed, conditional, optional), pyarrow.serialization (delayed, optional) 107 | missing module named pandas.ExtensionArray - imported by pandas (conditional), pandas.core.construction (conditional) 108 | missing module named numpy.core.integer - imported by numpy.core (top-level), numpy.fft.helper (top-level) 109 | missing module named numpy.core.conjugate - imported by numpy.core (top-level), numpy.fft._pocketfft (top-level) 110 | missing module named pickle5 - imported by numpy.compat.py3k (optional) 111 | missing module named _dummy_thread - imported by numpy.core.arrayprint (optional) 112 | missing module named numpy.array - imported by numpy (top-level), numpy.ma.core (top-level), numpy.ma.extras (top-level), numpy.ma.mrecords (top-level) 113 | missing module named numpy.recarray - imported by numpy (top-level), numpy.ma.mrecords (top-level) 114 | missing module named numpy.dtype - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.array_api._typing (top-level), numpy.ma.mrecords (top-level), numpy.ctypeslib (top-level) 115 | missing module named numpy.bool_ - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ma.core (top-level), numpy.ma.mrecords (top-level) 116 | missing module named threadpoolctl - imported by numpy.lib.utils (delayed, optional) 117 | missing module named numpy.histogramdd - imported by numpy (delayed), numpy.lib.twodim_base (delayed) 118 | missing module named numpy.lib.imag - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) 119 | missing module named numpy.lib.real - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) 120 | missing module named numpy.lib.iscomplexobj - imported by numpy.lib (delayed), numpy.testing._private.utils (delayed) 121 | missing module named numpy.core.ufunc - imported by numpy.core (top-level), numpy.lib.utils (top-level) 122 | missing module named numpy.core.ones - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) 123 | missing module named numpy.core.hstack - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) 124 | missing module named numpy.core.atleast_1d - imported by numpy.core (top-level), numpy.lib.polynomial (top-level) 125 | missing module named numpy.core.atleast_3d - imported by numpy.core (top-level), numpy.lib.shape_base (top-level) 126 | missing module named numpy.core.vstack - imported by numpy.core (top-level), numpy.lib.shape_base (top-level) 127 | missing module named numpy.core.linspace - imported by numpy.core (top-level), numpy.lib.index_tricks (top-level) 128 | missing module named numpy.core.transpose - imported by numpy.core (top-level), numpy.lib.function_base (top-level) 129 | missing module named numpy.core.result_type - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 130 | missing module named numpy.core.float_ - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 131 | missing module named numpy.core.number - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 132 | missing module named numpy.core.bool_ - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 133 | missing module named numpy.core.inf - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 134 | missing module named numpy.core.array2string - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 135 | missing module named numpy.core.signbit - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 136 | missing module named numpy.core.isscalar - imported by numpy.core (delayed), numpy.testing._private.utils (delayed), numpy.lib.polynomial (top-level) 137 | missing module named numpy.core.isinf - imported by numpy.core (delayed), numpy.testing._private.utils (delayed) 138 | missing module named numpy.core.isnat - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) 139 | missing module named numpy.core.ndarray - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.lib.utils (top-level) 140 | missing module named numpy.core.array_repr - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) 141 | missing module named numpy.core.arange - imported by numpy.core (top-level), numpy.testing._private.utils (top-level), numpy.fft.helper (top-level) 142 | missing module named numpy.core.float32 - imported by numpy.core (top-level), numpy.testing._private.utils (top-level) 143 | missing module named numpy.core.iinfo - imported by numpy.core (top-level), numpy.lib.twodim_base (top-level) 144 | missing module named numpy.core.reciprocal - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 145 | missing module named numpy.core.sort - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 146 | missing module named numpy.core.argsort - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 147 | missing module named numpy.core.sign - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 148 | missing module named numpy.core.isnan - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) 149 | missing module named numpy.core.count_nonzero - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 150 | missing module named numpy.core.divide - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 151 | missing module named numpy.core.swapaxes - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) 152 | missing module named numpy.core.matmul - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 153 | missing module named numpy.core.object_ - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) 154 | missing module named numpy.core.asanyarray - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 155 | missing module named numpy.core.intp - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level) 156 | missing module named numpy.core.atleast_2d - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 157 | missing module named numpy.core.product - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 158 | missing module named numpy.core.amax - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 159 | missing module named numpy.core.amin - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 160 | missing module named numpy.core.moveaxis - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 161 | missing module named numpy.core.geterrobj - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 162 | missing module named numpy.core.errstate - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) 163 | missing module named numpy.core.finfo - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.polynomial (top-level) 164 | missing module named numpy.core.isfinite - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) 165 | missing module named numpy.core.sum - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 166 | missing module named numpy.core.sqrt - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) 167 | missing module named numpy.core.multiply - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 168 | missing module named numpy.core.add - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 169 | missing module named numpy.core.dot - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.polynomial (top-level) 170 | missing module named numpy.core.Inf - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 171 | missing module named numpy.core.all - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (delayed) 172 | missing module named numpy.core.newaxis - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 173 | missing module named numpy.core.complexfloating - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 174 | missing module named numpy.core.inexact - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 175 | missing module named numpy.core.cdouble - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 176 | missing module named numpy.core.csingle - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 177 | missing module named numpy.core.double - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 178 | missing module named numpy.core.single - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 179 | missing module named numpy.core.intc - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 180 | missing module named numpy.core.empty_like - imported by numpy.core (top-level), numpy.linalg.linalg (top-level) 181 | missing module named numpy.core.empty - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level), numpy.fft.helper (top-level) 182 | missing module named numpy.core.zeros - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.fft._pocketfft (top-level) 183 | missing module named numpy.core.asarray - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.lib.utils (top-level), numpy.fft._pocketfft (top-level), numpy.fft.helper (top-level) 184 | missing module named numpy.core.array - imported by numpy.core (top-level), numpy.linalg.linalg (top-level), numpy.testing._private.utils (top-level), numpy.lib.polynomial (top-level) 185 | missing module named numpy.eye - imported by numpy (delayed), numpy.core.numeric (delayed) 186 | missing module named psutil - imported by numpy.testing._private.utils (delayed, optional) 187 | missing module named win32pdh - imported by numpy.testing._private.utils (delayed, conditional) 188 | missing module named _ufunc - imported by numpy._typing (conditional) 189 | missing module named numpy.bytes_ - imported by numpy (top-level), numpy._typing._array_like (top-level) 190 | missing module named numpy.str_ - imported by numpy (top-level), numpy._typing._array_like (top-level) 191 | missing module named numpy.void - imported by numpy (top-level), numpy._typing._array_like (top-level) 192 | missing module named numpy.object_ - imported by numpy (top-level), numpy._typing._array_like (top-level) 193 | missing module named numpy.datetime64 - imported by numpy (top-level), numpy._typing._array_like (top-level) 194 | missing module named numpy.timedelta64 - imported by numpy (top-level), numpy._typing._array_like (top-level) 195 | missing module named numpy.number - imported by numpy (top-level), numpy._typing._array_like (top-level) 196 | missing module named numpy.complexfloating - imported by numpy (top-level), numpy._typing._array_like (top-level) 197 | missing module named numpy.floating - imported by numpy (top-level), numpy._typing._array_like (top-level) 198 | missing module named numpy.integer - imported by numpy (top-level), numpy._typing._array_like (top-level), numpy.ctypeslib (top-level) 199 | missing module named numpy.unsignedinteger - imported by numpy (top-level), numpy._typing._array_like (top-level) 200 | missing module named numpy.generic - imported by numpy (top-level), numpy._typing._array_like (top-level) 201 | missing module named numpy.ufunc - imported by numpy (top-level), numpy._typing (top-level) 202 | missing module named numpy.float64 - imported by numpy (top-level), numpy.array_api._typing (top-level) 203 | missing module named numpy.float32 - imported by numpy (top-level), numpy.array_api._typing (top-level) 204 | missing module named numpy.uint64 - imported by numpy (top-level), numpy.array_api._typing (top-level) 205 | missing module named numpy.uint32 - imported by numpy (top-level), numpy.array_api._typing (top-level) 206 | missing module named numpy.uint16 - imported by numpy (top-level), numpy.array_api._typing (top-level) 207 | missing module named numpy.uint8 - imported by numpy (top-level), numpy.array_api._typing (top-level) 208 | missing module named numpy.int64 - imported by numpy (top-level), numpy.array_api._typing (top-level) 209 | missing module named numpy.int32 - imported by numpy (top-level), numpy.array_api._typing (top-level) 210 | missing module named numpy.int16 - imported by numpy (top-level), numpy.array_api._typing (top-level) 211 | missing module named numpy.int8 - imported by numpy (top-level), numpy.array_api._typing (top-level) 212 | missing module named numpy.expand_dims - imported by numpy (top-level), numpy.ma.core (top-level) 213 | missing module named numpy.iscomplexobj - imported by numpy (top-level), numpy.ma.core (top-level) 214 | missing module named numpy.amin - imported by numpy (top-level), numpy.ma.core (top-level) 215 | missing module named numpy.amax - imported by numpy (top-level), numpy.ma.core (top-level) 216 | missing module named numexpr - imported by pandas.core.computation.expressions (conditional), pandas.core.computation.engines (delayed) 217 | missing module named scipy - imported by pandas.core.nanops (delayed, conditional), pandas.core.missing (delayed) 218 | missing module named 'scipy.stats' - imported by pandas.core.nanops (delayed, conditional), pandas.plotting._matplotlib.misc (delayed, conditional), pandas.plotting._matplotlib.hist (delayed) 219 | missing module named botocore - imported by pandas.io.common (delayed, conditional, optional) 220 | missing module named Foundation - imported by pandas.io.clipboard (delayed, conditional, optional) 221 | missing module named AppKit - imported by pandas.io.clipboard (delayed, conditional, optional) 222 | missing module named PyQt4 - imported by pandas.io.clipboard (delayed, conditional, optional) 223 | missing module named PyQt5 - imported by pandas.io.clipboard (delayed, conditional, optional) 224 | missing module named qtpy - imported by pandas.io.clipboard (delayed, conditional, optional) 225 | missing module named pandas.UInt64Index - imported by pandas (conditional), pandas.core.dtypes.generic (conditional) 226 | missing module named pandas.Int64Index - imported by pandas (conditional), pandas.core.dtypes.generic (conditional) 227 | missing module named 'sqlalchemy.engine' - imported by pandas.io.sql (delayed) 228 | missing module named 'sqlalchemy.types' - imported by pandas.io.sql (delayed, conditional) 229 | missing module named 'sqlalchemy.schema' - imported by pandas.io.sql (delayed) 230 | missing module named sqlalchemy - imported by pandas.io.sql (delayed, conditional) 231 | missing module named 'matplotlib.lines' - imported by pandas.plotting._matplotlib.misc (top-level), pandas.plotting._matplotlib.tools (conditional), pandas.plotting._matplotlib.boxplot (conditional) 232 | missing module named 'matplotlib.axis' - imported by pandas.plotting._matplotlib.tools (conditional), pandas.plotting._matplotlib.core (conditional) 233 | missing module named 'matplotlib.ticker' - imported by pandas.plotting._matplotlib.converter (top-level), pandas.plotting._matplotlib.tools (top-level), pandas.plotting._matplotlib.core (delayed) 234 | missing module named 'matplotlib.table' - imported by pandas.plotting._matplotlib.tools (top-level) 235 | missing module named 'matplotlib.colors' - imported by pandas.plotting._matplotlib.style (top-level), pandas.plotting._matplotlib.core (delayed) 236 | missing module named 'matplotlib.cm' - imported by pandas.plotting._matplotlib.style (top-level) 237 | missing module named 'matplotlib.patches' - imported by pandas.plotting._matplotlib.misc (top-level) 238 | missing module named 'matplotlib.artist' - imported by pandas.plotting._matplotlib.boxplot (top-level), pandas.plotting._matplotlib.core (top-level) 239 | missing module named 'matplotlib.units' - imported by pandas.plotting._matplotlib.converter (top-level) 240 | missing module named 'matplotlib.transforms' - imported by pandas.plotting._matplotlib.converter (top-level) 241 | missing module named 'matplotlib.dates' - imported by pandas.plotting._matplotlib.converter (top-level) 242 | missing module named xlwt - imported by pandas.io.excel._xlwt (delayed, conditional) 243 | missing module named xlsxwriter - imported by pandas.io.excel._xlsxwriter (delayed, conditional) 244 | missing module named 'openpyxl.cell' - imported by pandas.io.excel._openpyxl (delayed) 245 | missing module named 'openpyxl.styles' - imported by pandas.io.excel._openpyxl (delayed) 246 | missing module named 'openpyxl.workbook' - imported by pandas.io.excel._openpyxl (delayed, conditional) 247 | missing module named openpyxl - imported by pandas.io.excel._openpyxl (delayed, conditional) 248 | missing module named 'odf.config' - imported by pandas.io.excel._odswriter (delayed) 249 | missing module named 'odf.style' - imported by pandas.io.excel._odswriter (delayed) 250 | missing module named 'odf.text' - imported by pandas.io.excel._odfreader (delayed), pandas.io.excel._odswriter (delayed) 251 | missing module named 'odf.table' - imported by pandas.io.excel._odfreader (delayed), pandas.io.excel._odswriter (delayed) 252 | missing module named 'odf.opendocument' - imported by pandas.io.excel._odfreader (delayed), pandas.io.excel._odswriter (delayed, conditional) 253 | missing module named xlrd - imported by pandas.io.excel._xlrd (delayed), pandas.io.excel._base (delayed, conditional) 254 | missing module named pyxlsb - imported by pandas.io.excel._pyxlsb (delayed) 255 | missing module named 'odf.element' - imported by pandas.io.excel._odfreader (delayed) 256 | missing module named 'odf.namespaces' - imported by pandas.io.excel._odfreader (delayed) 257 | missing module named odf - imported by pandas.io.excel._odfreader (delayed) 258 | missing module named 'matplotlib.pyplot' - imported by pandas.io.formats.style (optional), pandas.plotting._matplotlib.style (delayed), pandas.plotting._matplotlib.tools (delayed), pandas.plotting._matplotlib.misc (delayed), pandas.plotting._matplotlib.core (delayed), pandas.plotting._matplotlib.boxplot (delayed), pandas.plotting._matplotlib.hist (delayed), pandas.plotting._matplotlib (delayed), pandas._testing._io (delayed), pandas._testing.asserters (delayed), streamlit.elements.pyplot (delayed, optional) 259 | missing module named matplotlib - imported by pandas.plotting._core (conditional), pandas.io.formats.style (optional), pandas.plotting._matplotlib.core (top-level), pandas.plotting._matplotlib.compat (delayed, optional), pandas.plotting._matplotlib.style (top-level), pandas.plotting._matplotlib.timeseries (delayed), streamlit.elements.plotly_chart (conditional), streamlit.elements.pyplot (delayed, optional), streamlit.web.bootstrap (delayed, conditional, optional) 260 | missing module named tables - imported by pandas.io.pytables (delayed, conditional) 261 | missing module named 'lxml.etree' - imported by pandas.io.xml (delayed), pandas.io.formats.xml (delayed), pandas.io.html (delayed) 262 | missing module named lxml - imported by pandas.io.xml (conditional) 263 | missing module named 'pyarrow._dataset_orc' - imported by pyarrow.dataset (optional) 264 | missing module named fsspec - imported by pyarrow.fs (delayed, optional) 265 | missing module named 'pyarrow._gcsfs' - imported by pyarrow.fs (optional) 266 | missing module named sympy - imported by streamlit.type_util (delayed, conditional, optional), streamlit.elements.markdown (delayed, conditional) 267 | missing module named graphviz - imported by streamlit.type_util (conditional), streamlit.elements.graphviz_chart (conditional) 268 | missing module named 'lxml.html' - imported by pandas.io.html (delayed) 269 | missing module named bs4 - imported by pandas.io.html (delayed) 270 | missing module named sparse - imported by pyarrow.serialization (delayed, optional) 271 | missing module named torch - imported by pyarrow.serialization (delayed, optional) 272 | missing module named cloudpickle - imported by pyarrow.serialization (optional) 273 | missing module named 'setuptools_scm.git' - imported by pyarrow (delayed, optional) 274 | missing module named setuptools_scm - imported by pyarrow (optional) 275 | missing module named _watchdog_fsevents - imported by watchdog.observers.fsevents (top-level) 276 | missing module named pygments.lexers.PrologLexer - imported by pygments.lexers (top-level), pygments.lexers.cplint (top-level) 277 | missing module named PIL._imagingagg - imported by PIL (delayed, conditional, optional), PIL.ImageDraw (delayed, conditional, optional) 278 | missing module named olefile - imported by PIL.FpxImagePlugin (top-level), PIL.MicImagePlugin (top-level) 279 | missing module named cffi - imported by PIL.Image (optional), PIL.PyAccess (optional) 280 | missing module named defusedxml - imported by PIL.Image (optional) 281 | missing module named ctags - imported by pygments.formatters.html (optional) 282 | missing module named fcntl - imported by pty (delayed, optional) 283 | missing module named linkify_it - imported by markdown_it.main (optional) 284 | missing module named tensorflow - imported by streamlit.elements.write (delayed, conditional) 285 | missing module named 'plotly.plotly' - imported by streamlit.elements.plotly_chart (delayed, optional) 286 | missing module named chart_studio - imported by streamlit.elements.plotly_chart (delayed, optional) 287 | missing module named 'plotly.utils' - imported by streamlit.elements.plotly_chart (delayed, conditional) 288 | missing module named 'plotly.tools' - imported by streamlit.elements.plotly_chart (delayed) 289 | missing module named 'plotly.graph_objects' - imported by streamlit.elements.lib.streamlit_plotly_theme (top-level) 290 | missing module named 'plotly.io' - imported by streamlit.elements.plotly_chart (optional), streamlit.elements.lib.streamlit_plotly_theme (top-level) 291 | missing module named 'plotly.basedatatypes' - imported by streamlit.elements.plotly_chart (conditional) 292 | missing module named 'plotly.graph_objs' - imported by streamlit.elements.plotly_chart (conditional) 293 | missing module named 'backports.zoneinfo' - imported by tzlocal.unix (conditional) 294 | missing module named backports - imported by pytz_deprecation_shim._compat_py3 (optional), tzlocal.utils (optional) 295 | missing module named 'pandas.lib' - imported by altair.utils.core (optional) 296 | missing module named importlib_resources - imported by jsonschema._utils (conditional) 297 | missing module named altair_saver - imported by altair.utils.mimebundle (delayed, conditional, optional) 298 | missing module named vega_datasets - imported by altair.datasets (delayed) 299 | missing module named altair_viewer - imported by altair.vegalite.v4.api (delayed, optional) 300 | missing module named isoduration - imported by jsonschema._format (top-level) 301 | missing module named uri_template - imported by jsonschema._format (top-level) 302 | missing module named jsonpointer - imported by jsonschema._format (top-level) 303 | missing module named webcolors - imported by jsonschema._format (top-level) 304 | missing module named rfc3339_validator - imported by jsonschema._format (top-level) 305 | missing module named rfc3986_validator - imported by jsonschema._format (optional) 306 | missing module named rfc3987 - imported by jsonschema._format (optional) 307 | missing module named fqdn - imported by jsonschema._format (top-level) 308 | missing module named yaml - imported by altair._magics (optional) 309 | missing module named 'bokeh.embed' - imported by streamlit.elements.bokeh_chart (delayed) 310 | missing module named bokeh - imported by streamlit.elements.bokeh_chart (delayed, conditional) 311 | missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional) 312 | missing module named _curses - imported by curses (top-level), curses.has_key (top-level) 313 | missing module named win32evtlog - imported by logging.handlers (delayed, optional) 314 | missing module named win32evtlogutil - imported by logging.handlers (delayed, optional) 315 | -------------------------------------------------------------------------------- /dist/.streamlit/config.toml: -------------------------------------------------------------------------------- 1 | [global] 2 | developmentMode = false 3 | 4 | [server] 5 | port = 8502 -------------------------------------------------------------------------------- /dist/app.py: -------------------------------------------------------------------------------- 1 | import streamlit as st 2 | if __name__ == '__main__': 3 | st.header("Hello world") -------------------------------------------------------------------------------- /dist/run_app.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/dist/run_app.exe -------------------------------------------------------------------------------- /hooks/__pycache__/hook-streamlit.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvcss/PyInstallerStreamlit/0d9eb23e108e4ef1530892ba359351b319046a39/hooks/__pycache__/hook-streamlit.cpython-39.pyc -------------------------------------------------------------------------------- /hooks/hook-streamlit.py: -------------------------------------------------------------------------------- 1 | from PyInstaller.utils.hooks import copy_metadata 2 | datas = copy_metadata('streamlit') -------------------------------------------------------------------------------- /op.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%1" == "a" ( 4 | call .env\Scripts\activate.bat 5 | ) else if "%1" == "d" ( 6 | call .env\Scripts\deactivate.bat 7 | ) else ( 8 | echo Invalid option. Please use 'a' to activate or 'd' to deactivate the virtual environment. 9 | ) -------------------------------------------------------------------------------- /run_app.py: -------------------------------------------------------------------------------- 1 | from streamlit.web import cli 2 | #this uri depends based on version of your streamlit 3 | if __name__ == '__main__': 4 | cli._main_run_clExplicit('app.py', 'streamlit run') 5 | #we will CREATE this function inside our streamlit framework -------------------------------------------------------------------------------- /run_app.spec: -------------------------------------------------------------------------------- 1 | # -*- mode: python ; coding: utf-8 -*- 2 | 3 | 4 | block_cipher = None 5 | 6 | 7 | a = Analysis( 8 | ['run_app.py'], 9 | pathex=[], 10 | binaries=[], 11 | datas=[ 12 | (".env/Lib/site-packages/altair/vegalite/v5/schema/vega-lite-schema.json","./altair/vegalite/v5/schema/"), 13 | (".env/Lib/site-packages/streamlit/static","./streamlit/static"), 14 | (".env/Lib/site-packages/streamlit/runtime","./streamlit/runtime"), 15 | ], 16 | hiddenimports=[], 17 | hookspath=['./hooks'], 18 | hooksconfig={}, 19 | runtime_hooks=[], 20 | excludes=[], 21 | win_no_prefer_redirects=False, 22 | win_private_assemblies=False, 23 | cipher=block_cipher, 24 | noarchive=False, 25 | ) 26 | pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) 27 | 28 | exe = EXE( 29 | pyz, 30 | a.scripts, 31 | a.binaries, 32 | a.zipfiles, 33 | a.datas, 34 | [], 35 | name='run_app', 36 | debug=False, 37 | bootloader_ignore_signals=False, 38 | strip=False, 39 | upx=True, 40 | upx_exclude=[], 41 | runtime_tmpdir=None, 42 | console=True, 43 | disable_windowed_traceback=False, 44 | argv_emulation=False, 45 | target_arch=None, 46 | codesign_identity=None, 47 | entitlements_file=None, 48 | ) 49 | --------------------------------------------------------------------------------