Anaconda Environment Package Management: Using conda list Command to Retrieve Installed Packages

Nov 20, 2025 · Programming · 15 views · 7.8

Keywords: Anaconda | package management | conda list

Abstract: This article provides a comprehensive guide on using the conda list command to obtain installed package lists in Anaconda environments. It begins with fundamental concepts of conda package management, then delves into various parameter options and usage scenarios of the conda list command, including environment specification, output format control, and package filtering. Through detailed code examples and practical applications, the article demonstrates effective management of package dependencies in Anaconda environments. It also compares differences between conda and pip in package management and offers practical tips for exporting and reusing package lists.

Fundamentals of Anaconda Package Management

Anaconda, as a widely used distribution in the Python data science community, boasts powerful package management capabilities as one of its core advantages. During extended project development, users typically install numerous packages to meet various requirements, necessitating a systematic approach to track and manage these packages.

Conda, serving as Anaconda's package manager, not only handles Python packages but also manages non-Python dependencies, making it particularly valuable in scientific computing environments. To understand all packages installed in the current environment, the most fundamental method is using the conda list command.

Basic Command Usage

In the terminal or command prompt, simply enter conda list to display all packages installed via conda in the currently activated environment. This command outputs a formatted table containing detailed information such as package names, versions, build information, and channels.

For example, in a Windows 10 Anaconda environment, open Anaconda Prompt or command prompt and enter:

conda list

Execution will display output similar to:

# packages in environment at C:\Users\username\anaconda3:
#
# Name Version Build Channel
numpy 1.21.5 py39hdbf815f_0
pandas 1.4.2 py39hd77b12b_0
matplotlib 3.5.1 py39haa95532_0

Command Parameter Details

The conda list command offers extensive parameter options to accommodate various usage needs. Here are detailed explanations of some commonly used parameters:

Environment Specification Parameters

Use the -n or --name parameter to specify a particular environment:

conda list -n myenv

This displays the package list in the environment named myenv. Using the -p or --prefix parameter allows specification of the environment's full path:

conda list -p /path/to/environment

Output Format Control

The --json parameter formats output as JSON, facilitating programmatic processing:

conda list --json

The -v or --verbose parameter increases output detail level—use once for info level, twice for debug level, three times for trace level:

conda list -v -v

The -q or --quiet parameter suppresses progress bar display, suitable for script environments.

Package Filtering Functionality

Regular expressions can filter displayed packages:

conda list numpy

This shows only packages containing numpy. Combined with the -f or --full-name parameter, it searches for exact name matches only:

conda list -f ^numpy$

Advanced Function Applications

Package List Export and Reuse

In practical projects, exporting environment configurations for replication elsewhere is common. Use the --export parameter to export requirement strings:

conda list --export > requirements.txt

Alternatively, use the --explicit parameter to list all explicitly installed conda packages with their URLs:

conda list --explicit > package-list.txt

To recreate an environment based on an exported file, use:

conda create -n new_env --file package-list.txt

Channel Information Display

The --show-channel-urls parameter displays package channel URL information, useful for debugging channel-related issues:

conda list --show-channel-urls

Comparison of conda and pip Package Management

Although conda is the primary package manager in Anaconda environments, users might install some packages using pip. Note that:

Using pip list displays packages recognized by pip, but there may be overlaps with the conda list. Generally, pip can recognize conda-installed packages, but the reverse may not hold true.

To exclude pip-installed packages, use the --no-pip parameter:

conda list --no-pip

This difference stems from conda and pip's distinct mechanisms in dependency resolution and environment management. Conda handles more complex dependencies, including system library dependencies, while pip primarily focuses on Python packages.

Practical Application Scenarios

Environment Migration

When migrating projects from development to production environments, use export functionality to ensure environment consistency:

# Export in development environment
conda list --export > prod_requirements.txt

# Create identical environment in production
conda create -n production_env --file prod_requirements.txt

Dependency Analysis

Combine different parameters for in-depth dependency analysis:

# View packages from specific channels
conda list --show-channel-urls | grep conda-forge

# Generate MD5 checksums for integrity verification
conda list --explicit --md5 > verified_packages.txt

Environment Cleanup

Regularly checking package lists helps identify and remove unnecessary packages:

# List all packages sorted by size
conda list | sort -k 2

Best Practice Recommendations

Based on long-term project experience, we recommend:

Regularly use conda list to check environment status, maintaining clear understanding of dependencies. In team projects, use export files to ensure environment consistency. For critical projects, consider using --explicit and --md5 parameters to enhance reproducibility.

Additionally, be mindful of potential dependency conflicts from mixed conda and pip usage. Where possible, use a single package manager to simplify dependency management.

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.