Initial Local Setup
Make sure that Python is already installed on your computer along with a way to create virtual environments.
This allows you to run your project locally, and test that it works, before deploying it to Fly.io.
Dependency Management
For project and dependency management we use Poetry. Like most package managers, Poetry combines multiple tools in one.
You have other options:
If you are just starting out, it is easiest to follow along using poetry. After installing it, you will have to set 2 flags for virtual environment management.
poetry config virtualenvs.create true
poetry config virtualenvs.in-project true
This will make your development environment resemble what ends up happening inside the Docker image.
You can create a new project using this command:
Once inside the project, you can add packages with the add command:
This will automatically create a virtual environment for you.
To interact with your virtual environment, you can prefix your commands with poetry run:
poetry run python main.py
Alternatively, you can activate the environment:
This prints the activation command for your shell. To activate in one step:
source $(poetry env activate)
python main.py
If you’re using Poetry 2.0+ (the default when installed via pipx), the poetry shell command is no longer built in. Use poetry run (recommended) or poetry env activate as shown above. If you prefer poetry shell, you can install it as a plugin: poetry self add poetry-plugin-shell.