在 Conda 环境中检测 Python 是否为 运行

Detect if Python is running in a Conda environment

Conda环境下是否可以检测Python是否为运行?

我更喜欢在子进程中不依赖 运行 shell 命令的解决方案,但如果这是唯一的选择,那就这样吧。我假设有一些简单的东西,比如在环境中设置的环境变量,但这种东西很难搜索(而且 Conda 文档也不是很好)。

使用

import sys, os
is_conda = os.path.exists(os.path.join(sys.prefix, 'conda-meta'))

经过一些测试,您似乎可以使用 CONDA_DEFAULT_ENVCONDA_PREFIX 环境变量检测 Conda 的使用情况。这些似乎仅在 Conda 环境处于活动状态时设置。

我会尝试从 Conda 团队获得 "official" 答复并更新。