如何获取Anaconda环境中已安装Python模块的版本、许可证等信息?
如何在Conda环境中获取已安装包的详细信息(类似
pip show) 核心结论
Conda原生命令无法一次性输出和pip show完全匹配的所有字段(如许可证、作者),但有几种无需交叉引用命令结果的简便方法:
方法1:读取Conda环境的元数据目录
每个Conda环境的conda-meta目录存储了所有已安装包的完整元数据,包含许可证、依赖、主页URL等信息。可通过脚本批量提取:
- 激活目标环境:
conda activate your_env_name - 执行以下Python脚本(直接在终端运行或保存为
.py文件执行):import json import os from pathlib import Path # 定位当前环境的conda-meta目录 meta_dir = Path(os.environ["CONDA_PREFIX"]) / "conda-meta" # 遍历所有包的元数据JSON文件 for pkg_json in meta_dir.glob("*.json"): with open(pkg_json, "r") as f: data = json.load(f) # 提取并打印关键信息 print(f"=== {data['name']} {data['version']} ===") print(f"许可证: {data.get('license', '未提供')}") print(f"主页URL: {data.get('home', '未提供')}") print(f"依赖项: {', '.join(data.get('depends', []))}") print(f"作者: {data.get('author', '未提供')}") print("---")
方法2:使用第三方工具conda-show-package
这个工具专门模拟pip show的输出格式,直接调用Conda元数据:
- 激活环境后安装工具:
pip install conda-show-package - 查看单个包信息:
conda-show-package numpy - 查看所有已安装包信息:
conda-show-package --all
方法3:混合调用pip与conda(限兼容包)
若环境中多数包可被pip识别,可直接用以下命令批量输出:
pip show --verbose $(conda list --export | cut -d'=' -f1)
注意:部分Conda专属包(如conda本身)无法被pip识别,会出现报错信息。
内容的提问来源于stack exchange,提问作者fyrepenguin
相关产品推荐
相关产品推荐

