How to Freeze Pip Packages in Python: Save Your Dependencies
To freeze pip packages in Python, use the
pip freeze command which lists all installed packages and their versions. You can save this list to a file by running pip freeze > requirements.txt, creating a snapshot of your current environment.Syntax
The basic syntax to freeze pip packages is:
pip freeze: Lists all installed packages with their versions.pip freeze > requirements.txt: Saves the list to a file namedrequirements.txt.
bash
pip freeze pip freeze > requirements.txt
Example
This example shows how to freeze your current Python environment's packages into a requirements.txt file and then display its contents.
python
import os # Freeze installed packages to requirements.txt os.system('pip freeze > requirements.txt') # Read and print the contents of requirements.txt with open('requirements.txt', 'r') as file: content = file.read() print(content)
Output
certifi==2023.5.7
charset-normalizer==3.1.0
idna==3.4
requests==2.31.0
urllib3==1.26.16
Common Pitfalls
Common mistakes when freezing pip packages include:
- Running
pip freezein the wrong environment, which captures unrelated packages. - Not using a virtual environment, causing global packages to be included.
- Overwriting an existing
requirements.txtwithout backing it up.
Always activate your project’s virtual environment before freezing packages to get accurate results.
bash
## Wrong way: freezing without activating virtual environment # pip freeze > requirements.txt ## Right way: activate virtual environment first # source venv/bin/activate # On Windows use: venv\Scripts\activate # pip freeze > requirements.txt
Quick Reference
Tips for freezing pip packages:
- Use
pip freezeto list packages. - Redirect output to
requirements.txtto save. - Activate your virtual environment before freezing.
- Use
pip install -r requirements.txtto install saved packages later.
Key Takeaways
Use
pip freeze > requirements.txt to save your current packages and versions.Always activate your virtual environment before freezing to capture only project-specific packages.
The
requirements.txt file helps recreate the same environment later with pip install -r requirements.txt.Avoid overwriting your requirements file without backup to prevent losing important dependency info.