pyenv-virtualenv
提供了一种在进入或离开包含.python-version
文本文件的目录的瞬间激活环境的好方法,该文本文件指定了要激活的环境。它适用于其中的目录以及其中包含的所有目录。
将目录更改为目录上方的内容后,环境将被停用。这样可以使用不同的python版本(仅通过更改目录)轻松地在项目或分析之间切换。
有没有一种方法可以通过(ana)conda实现相同的行为?
编辑:添加了bash标记,因为-据我了解-pyenv通过将自定义脚本挂接到.bashrc
中来实现此目的(允许它监视目录更改)。如果conda中没有内置方法,如何创建一个脚本使之成为可能?
答案 0 :(得分:0)
如我的评论中所述,当前不支持此功能。但是,conda's GitHub上存在一个要求提供此功能的公开问题。
与此同时,您可以使用autoenv这个小型工具,它会在进入目录时自动在.env
文件中运行代码,而在离开目录时在.env.leave
中运行代码(支持bash / zsh和其他几个)。
摘自自述文件的一个简单示例,很好地说明了该功能:
$ echo "echo 'whoa'" > project/.env
$ cd project
whoa
要加载conda环境,您的.env
看起来应该像这样:
conda activate <my_env>
注意1:在开始使用GitHub自述文件的 Configuration 部分之前,请先使用它。
注释2: autoenv 的作者实际上建议尝试使用direnv。但是,我从未使用过它,因此无法对此发表评论。
来自 autoenv 的自述文件:
您可能应该改用direnv。简而言之,它是更高质量的软件。但是,autoenv仍然很棒。也许两者都尝试? :)