如何更改 conda 环境.txt文件的位置



我正试图将conda数据移动到.local/share,以免弄乱我的home。我的conda配置文件位于home/user/.config/conda/condarc,如下所示:

envs_dirs:
- /home/user/.local/share/conda/local_envs/
pkgs_dirs:
- /home/user/.local/share/conda/env_pkgs/
auto_activate_base: false

有了这一点,我希望创建的环境将数据存储在/home/user/.local/share/conda/local_envs/中,事实恰好如此。我试图解决的问题是,为了跟踪这些envsconda创建了一个目录/home/.conda包含environments.txt文件,该文件仅列出所有现有的env我不希望创建此目录,但无法更改此行为。

conda config --show的输出列出了以下envs_dirs路径,这可能与该问题有关:

envs_dirs:
- /home/user/.local/share/conda/local_envs
- /home/user/.local/share/conda/envs
- /home/user/.conda/envs

考虑到我的condarc中只列出了其中一个,这很奇怪,因此尝试删除不需要的路径(conda config --remove envs_dirs /home/gala/.conda/envs(会产生以下错误

CondaKeyError: 'envs_dirs': key 'envs_dirs' is not in the config file

目前不可能相关的Conda代码是

def get_user_environments_txt_file(userhome='~'):
return expand(join(userhome, '.conda', 'environments.txt'))

所有对此的引用都不带任何参数地调用它。因此,在康达没有任何方法可以避免这种情况。

如果您希望对此进行更改,请在存储库中提交问题。这个现有的问题似乎是一个很好的地方来协调它,并提出一些管理它的功能

符号链接

如果你真的不想跟踪它,你可能会使用/dev/null:的符号链接

ln -s /dev/null ~/.conda/environments.txt

或者,您可以符号链接到另一个位置的真实文件。但不确定这有什么好处——你的用户家里仍然有符号链接。

最新更新