Generating pip3-Compatible requirements.txt from Conda Environment

Nov 21, 2025 · Programming · 9 views · 7.8

Keywords: Conda | pip | requirements.txt | virtual environment | Python package management

Abstract: This article provides a comprehensive guide on generating pip3 and venv compatible requirements.txt files from Conda environments. It analyzes the format differences between conda list -e and pip freeze outputs, presents the method of installing pip within Conda environment and using pip freeze to generate standard requirements.txt. The article compares output differences between two package managers and offers complete operational procedures with practical code examples to facilitate environment migration in restricted setups.

Problem Background and Challenges

In Python development, Conda and pip are two commonly used package management tools. Conda provides cross-platform environment management capabilities, while pip is the official Python package installer. When needing to replicate development environments in Conda-free setups, exporting Conda environments as pip-compatible requirements.txt files becomes a frequent requirement.

Analysis of Conda and pip Format Differences

The file format exported using conda list -e > requirements.txt command is incompatible with pip. Conda's output format includes platform information and build identifiers, for example:

certifi=2016.2.28=py36_0
cycler=0.10.0=py36_0
matplotlib=2.0.2=np113py36_0

This format uses single equals signs to separate package names, versions, and build information, while pip requires double equals signs for version specification:

certifi==2016.2.28
cycler==0.10.0
matplotlib==2.0.2

Solution Implementation

To generate pip-compatible requirements.txt files from Conda environments, follow these steps:

First, activate the target Conda environment:

conda activate <env-name>

If pip is not already installed in the environment, install it first:

conda install pip

Then use pip freeze command to generate standard format requirements.txt:

pip freeze > requirements.txt

For some systems, more precise formatting may be required:

pip list --format=freeze > requirements.txt

Environment Reconstruction Process

Use the generated requirements.txt file to reconstruct the environment in a new setup:

Create Python virtual environment:

python3 -m venv env

Activate the virtual environment:

source env/bin/activate

Install dependency packages:

pip install -r requirements.txt

Considerations and Difference Analysis

It's important to note that the package list output by pip freeze may not be identical to conda list. Some system-level dependency packages managed by Conda may not appear in pip's output, but this typically doesn't affect normal operation of Python code.

In practical testing, the number of packages output by pip may be fewer than conda, but this difference is mainly due to Conda managing more system-level dependencies. For Python applications, requirements.txt generated by pip usually provides sufficient functional support.

Practical Application Scenarios

This method is particularly suitable for the following scenarios:

Through this approach, developers can flexibly migrate between Conda and pip environments, leveraging the advantages of both tools while ensuring project consistency across different environments.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.