获取安装在 Anaconda 中的软件包列表
Posted
技术标签:
【中文标题】获取安装在 Anaconda 中的软件包列表【英文标题】:Get the list of packages installed in Anaconda 【发布时间】:2018-03-04 16:10:45 【问题描述】:一段时间以来,我已经将一些包加载到我一直使用的 Anaconda 中。现在我无法跟踪它。我们如何获取 Anaconda (Windows 10) 中加载的所有包的列表?命令是什么?
【问题讨论】:
我不具体了解Anaconda,但是对于通用的Python,第三方包通常安装在site-packages文件夹中。 【参考方案1】:在终端输入:conda list
获取使用 conda 安装的包。
对于pip
识别的包,输入:pip list
这些列表可能有一些重叠,因为pip
可能会识别由conda
安装的软件包(但可能不是相反,IDK)。
有一个有用的来源here,包括如何更新或升级包..
【讨论】:
有没有办法只列出***包。在***下,我的意思是那些没有作为另一个包的依赖项安装的那些。 据我所知,没有简单的方法可以做到这一点@handras @handras,现在有。来自docs:“如果你想让你的环境文件跨平台工作,你可以使用conda env export --from-history
标志。这将只包括你明确要求的包,而不是包括你环境中的每个包。”【参考方案2】:
要列出活动环境中的所有包,请使用:
conda list
要列出停用环境中的所有包,请使用:
conda list -n myenv
【讨论】:
conda list
不会列出停用环境中的包...我想知道是否有办法列出所有环境中的包...conda list -n env1 -n env2
列出env2
并忽略env1
。让我搜索一下……【参考方案3】:
检查是否安装了特定的包:
conda list html5lib
如果安装了会输出这样的东西:
# packages in environment at C:\ProgramData\Anaconda3:
#
# Name Version Build Channel
html5lib 1.0.1 py37_0
或类似的东西,如果没有安装:
# packages in environment at C:\ProgramData\Anaconda3:
#
# Name Version Build Channel
您无需输入确切的软件包名称。支持部分匹配:
conda list html
这会输出所有包含'html'的已安装包:
# packages in environment at C:\ProgramData\Anaconda3:
#
# Name Version Build Channel
html5lib 1.0.1 py37_0
sphinxcontrib-htmlhelp 1.0.2 py_0
sphinxcontrib-serializinghtml 1.1.3 py_0
【讨论】:
必须激活环境才能使其正常工作(无论如何在撰写本文时)。【参考方案4】:以类似于pip freeze
的格式列出活动环境中的所有包:
conda env export
输出示例:
name: pytorch
channels:
- pytorch
- anaconda
- conda-forge
- defaults
dependencies:
- python=3.8.5=h7579374_1
- python_abi=3.8=1_cp38
- pytorch=1.7.1=py3.8_cuda11.0.221_cudnn8.0.5_0
- pytorch-lightning=1.1.4=pyhd8ed1ab_0
- tensorboard=2.4.0=pyhd8ed1ab_0
- pip:
- bert-score==0.3.7
- tokenizers==0.9.4
- transformers==4.2.1
prefix: /home/franck/anaconda3/envs/pytorch
您可以保存环境并重新创建和/或重新激活它:
# Save the environment
conda env export > my_conda_env.yml
# Re-create the environment
conda env create --file my_conda_env.yml
# Reactivate the environment
conda activate pytorch
【讨论】:
您好,很抱歉在这里打扰您,但您的 Twitter 帐户似乎被黑了。 @ayhan 废话我现在会调查一下 @ayhan 密码重置和垃圾推文已删除,非常感谢!来自 Twitter 的糟糕巧合和糟糕的安全实践让我认为关于连接警告的 Twitter 电子邮件是我(为什么 Twitter 会在他们的连接警告中说“来自美国的连接”而不提供更精确的地址或 IP……愚蠢!)。 tweetdelete.net 在清理垃圾推文方面非常方便! 是的,这对于可疑登录来说信息量不是很大。很高兴您顺利拿回了它。【参考方案5】:更多 conda list 使用详情:
usage: conda-script.py list [-h][-n ENVIRONMENT | -p PATH][--json] [-v] [-q]
[--show-channel-urls] [-c] [-f] [--explicit][--md5] [-e] [-r] [--no-pip][regex]
【讨论】:
【参考方案6】:在 Windows cmd 或 powershell 提示符下创建脚本:
C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3
conda list
pip list
【讨论】:
【参考方案7】:您可以从 conda 环境元目录中的历史文件中查看 conda 已安装的内容。它位于 $ENV_PATH/conda-meta/history。这将告诉您为该环境运行的命令,因此应列出您直接安装的显式规范
https://github.com/conda/conda/issues/8986#issuecomment-572736603
只需查看以“# cmd:”开头的行,其中还包含“install”。
对于 Windows,历史文件的路径可能以 %env_path%
而不是 $ENV_PATH
开头。
【讨论】:
以上是关于获取安装在 Anaconda 中的软件包列表的主要内容,如果未能解决你的问题,请参考以下文章