python <filename>
pip install flask
site-packages directory, which affects all projects.venv), packages are installed only inside that environment, keeping dependencies isolated..venv\\Scripts\\activate # Windows
source .venv/bin/activate # macOS/Linux
Instead of manually installing packages, you can record dependencies so others can easily set up the same environment:
pip install -r requirements.txt # traditional way
# Modern tools like uv support pyproject.toml and lock files:
uv sync # install dependencies from pyproject.toml and uv.lock
uv add requests # add a dependency
# 1) Initialize a new project (creates pyproject.toml)
uv init flask-demo
cd flask-demo
# 2) Create a virtual environment (optional, uv run will auto-use it)
uv venv
# 3) Add dependencies (updates pyproject.toml + uv.lock)
uv add flask python-dotenv
# 4) Create a minimal Flask app
ni app.py -Value @"
from flask import Flask
app = Flask(__name__)
@app.get('/')
def home():
return {'msg': 'Hello, Flask + uv!'}
if __name__ == '__main__':
app.run(debug=True)
"@
# 5) Run (automatically uses the venv)
uv run python app.py
uv run flask --app run:app run --debug
uv add gunicorn
uv run gunicorn -w 4 -b 0.0.0.0:8000 app:app