不用conda激活conda环境

Activate conda environment without conda

假设我有一个 conda 环境文件夹,但没有 conda 或需求文件。有没有办法在不安装 conda 的情况下使用环境,即激活或提取需求?

基本点导出

我们假设环境是 /path/to/env,安装了 /path/to/env/bin/python。如果只需要 Python 包,并且安装了 pip,那么可能就足够了:

/path/to/env/bin/python -s -m pip list --format=freeze > requirements.txt

注意 -s 标志将 site 模块与用户站点中的包含包隔离(例如,~/.local/lib/pythonX.Y/site-packages/);如果您出于某种原因想要包含这些内容,请删除标志。

模拟 Conda 激活

更努力地,可以通过

模拟基本激活
  1. 将环境的 bin/ 添加到 PATH;和
  2. 运行 任何激活 shell 脚本(在 etc/conda/activate.d/ 中找到);请注意,有时没有此类脚本并且该文件夹不存在。

然后可以用python -s -m pip list --format=freeze导出。

在大多数情况下,我不希望这里有什么不同,但为了完整起见我将其包括在内。我们不能排除可能存在通过激活脚本以更改 pip list 输出的方式操纵环境变量的软件包。不是说我见过这个,只是说这是可能的。