32 lines
617 B
Markdown
32 lines
617 B
Markdown
![]() |
---
|
||
|
tags: [python, procedural]
|
||
|
created: Saturday, October 19, 2024
|
||
|
---
|
||
|
|
||
|
# Compile Python app to single executable
|
||
|
|
||
|
Assume you are already using a Pip venv.
|
||
|
|
||
|
Install `pyinstaller` and/or add it to your `requirements.txt`:
|
||
|
|
||
|
```sh
|
||
|
souce venv/bin/activate
|
||
|
pip install pyinstaller
|
||
|
pip install -r requirements.txt
|
||
|
```
|
||
|
|
||
|
Then from root of project:
|
||
|
|
||
|
```sh
|
||
|
pyinstall -F src/app.py
|
||
|
```
|
||
|
|
||
|
The `-F` flag compiles the application to a single file containing all necessary
|
||
|
external packages and local imports.
|
||
|
|
||
|
It outpute to `/dist`. Say the app is called `hello`, run the executable thus:
|
||
|
|
||
|
```sh
|
||
|
/my-python-application/dist/app
|
||
|
```
|