conda vs pip:conda list 仅显示通过 conda 安装的库,pip list 显示通过 pip 安装的库。若库同时通过两种方式安装,可能会有版本冲突。
一、查看库版本
1. 查看单个库的版本
使用 conda list 或 pip show 命令。
# 使用 conda(查看conda安装的包)
conda list <package_name>
# 示例:查看numpy版本
conda list torch
# 使用 pip(查看pip安装的包)
pip show <package_name>
# 示例:查看pandas版本
pip show torch
(shi) D:>conda list torch
# packages in environment at C:
#
# Name Version Build Channel
torch 2.4.1 pypi_0 pypi
torchvision 0.19.1 pypi_0 pypi
(shi) D>pip show torch
Name: torch
Version: 2.4.1
Summary: Tensors and Dynamic neural networks in Python with strong GPU acceleration
Home-page: https://pytorch.org/
Author: PyTorch Team
Author-email: packages@pytorch.org
License: BSD-3
Location: c:\users\11712\.conda\envs\shipitof\lib\site-packages
Requires: filelock, fsspec, jinja2, networkx, sympy, typing-extensions
Required-by: torchvision
2. 查看所有已安装库的版本
使用 conda list 或 pip list 命令。
# 查看当前环境中所有conda安装的库及其版本
conda list
# 查看当前环境中所有pip安装的库及其版本
pip list
3.在 Python 脚本中动态查看版本
import <package_name>
print(<package_name>.__version__)
# 示例:查看matplotlib版本
import matplotlib
print(matplotlib.__version__)
二、环境中导出依赖清单
在 conda 环境中导出依赖清单是管理项目环境的重要步骤。生成requirements.txt(pip 依赖)和environment.yaml(conda 环境配置)两种格式的文件。这种方便在另一台电脑上复现代码和模型运行。
1. 导出 pip 依赖清单(requirements.txt)
仅包含通过 pip 安装的包,不包含 conda 特有的包(如cudatoolkit)。版本号格式精确(如numpy==1.21.0),适合 pip 环境复现。
# 导出当前环境的所有pip依赖(包含版本号)
pip freeze > requirements.txt
# 仅导出明确安装的包(排除依赖项)
pip list --format=freeze | grep -v "^\-e" > requirements.txt
# 导出到指定路径
pip freeze > /path/to/your/requirements.txt
2. 导出 conda 环境配置(environment.yaml)
包含 conda 和 pip 安装的所有包,以及 channel 信息。版本号格式更灵活(如numpy>=1.21),适合跨平台环境复现。
# 导出当前环境的完整配置(包含环境名、channels和所有依赖)
conda env export > environment.yaml
# 排除环境名(方便在不同机器上复用)
conda env export --no-builds | grep -v "^prefix: " > environment.yaml
# 导出指定环境(不激活时使用)
conda env export -n myenv > environment.yaml
3.环境复现命令
详细说明请参考之前文章争对机器学习和深度学习里Python项目开发管理项目依赖的工具中方便第三方库和包的安装。
# 使用requirements.txt(pip环境)
pip install -r requirements.txt
# 使用environment.yaml(conda环境)
conda env create -f environment.yaml