requirements.txt file is the industry standard for specifying and managing dependencies in Python projects. This guide shows how to create, configure and use requirements.txt to ensure consistency between development and production environments.
What is a requirements.txt file?
Arequirements.txt file lists all external Python packages your project needs, with their specific versions. This allows:
- You and your team to maintain identical environments
- New collaborators to reproduce the environment exactly
- Deploy on Square Cloud to work with the correct dependencies
1
Create and activate a virtual environment
Working inside a virtual environment is essential to keep your project dependencies isolated from the global Python system. This avoids version conflicts and ensures reproducibility.Create the virtual environment in the root of your project (use Activate it with one of the commands below, depending on your system:Windows:macOS/Linux:Then install the packages your project uses, for example:
python3 if python is not found on macOS/Linux):2
List project dependencies
Option A: Generate with pip freeze (Recommended)
With the virtual environment activated, write every installed package and its exact version to the file:pip freeze lists only the packages installed in it (your dependencies and their sub-dependencies), already pinned with ==.Outside a virtual environment,
pip freeze lists every package installed on your system. Review the file and remove what your project does not use.Option B: Create manually
Create arequirements.txt file in the root of your project and list the packages your project uses, with their versions:requirements.txt
3
Review and validate dependencies
Open the
requirements.txt file in your text editor and:- Review the package list
- Remove unnecessary dependencies
- Update versions as needed
- Ensure you are using exact versions (with
==)
4
Install dependencies
To install all listed dependencies:This command guarantees that all collaborators and production environments use exactly the same versions.
5
Version and share
With
requirements.txt ready, you can:- Share it with your team
- Put it in version control (git)
- Ensure everyone works with the same versions
- Simplify deployment on Square Cloud
requirements.txt file is automatically detected and its dependencies are installed with pip install -r requirements.txt before your app starts.Best practices and tips
- Keep updated: Review and update
requirements.txtregularly as you add new dependencies - Use exact versions: Always use
==instead of>,>=or no version to avoid surprises in production - Review pip freeze: If using
pip freeze, review the file before committing, as it may include unnecessary auxiliary packages - Versioning: Commit
requirements.txtto git to track dependency changes - Isolated environment: Maintain one virtual environment per project to avoid global conflicts
- Test locally: Before deploying, test the file with
pip install -r requirements.txtin a new environment
Next steps
With yourrequirements.txt file configured:
- Commit it to your Git repository.
- Host your project with the Python runtime guide, or follow a framework guide: Django, Flask or FastAPI.
- Deploy automatically from GitHub on every push.

