Files
python-doc/Docs/Libs/FastAPI/01-Setup.md
2026-01-23 23:21:00 +03:30

101 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FastAPI Environment Setup
This document describes the initial setup required to prepare a Python environment for developing a FastAPI application.
The steps below ensure isolation, dependency management, and reproducibility across environments.
---
## Prerequisites
Before starting, ensure the following are installed on your system:
* Python 3.8 or higher
* `pip` (Python package manager)
* `venv` module (included by default with most Python installations)
You can verify your Python version with:
```bash
python3 --version
```
---
## Step 1: Create a Virtual Environment
A virtual environment isolates project dependencies and prevents conflicts with system-wide Python packages.
From the project root directory, run:
```bash
python3 -m venv .venv
```
This command creates a `.venv` directory containing the isolated Python environment.
---
## Step 2: Activate the Virtual Environment
Activate the virtual environment before installing any dependencies.
### Linux / macOS
```bash
source .venv/bin/activate
```
### Windows (PowerShell)
```powershell
.venv\Scripts\Activate.ps1
```
After activation, your shell prompt should indicate that the virtual environment is active.
---
## Step 3: Install FastAPI
With the virtual environment activated, install FastAPI using `pip`:
```bash
pip install fastapi
```
This installs the FastAPI framework and its required dependencies.
> Note: In a real application, FastAPI is commonly used with an ASGI server such as `uvicorn`, which can be installed later if needed.
---
## Step 4: Freeze Dependencies
To ensure reproducibility across environments (local, CI/CD, staging, production), export the installed dependencies to a requirements file:
```bash
pip freeze > requirement.txt
```
This file should be committed to version control and used by deployment pipelines to install exact dependency versions.
---
## Resulting Files
After completing the steps above, your project directory should include:
* `.venv/` Python virtual environment (should not be committed to VCS)
* `requirement.txt` Dependency lock file
---
## Best Practices
* Always activate the virtual environment before working on the project
* Do not commit `.venv/` to source control
* Keep `requirement.txt` updated when adding or upgrading dependencies
* Use the same `requirement.txt` in CI/CD pipelines for consistent builds
---