anaconda .conda 文件夹从 /home/usrxy 移动到其他位置

Jag*_*han 6 python anaconda conda

我有一个安装了 Anaconda3 的 RHEL 服务器。系统中的每个用户在/home/文件夹中获得 2 GiG 空间,在安装的驱动器中获得另一个大文件夹。当用户尝试使用conda create -n my_env它创建 conda 环境时,它会填充文件.conda夹中的所有 .tar 文件并且安装中断。有没有办法为.conda文件夹指定自定义位置。

最好的贾根

joh*_*ohn 6

在遇到类似的问题时遇到了这个问题,因为我的主目录空间不足......

基于 Ajay Bisht 的解决方案,要更改包缓存搜索路径,您可以设置

conda config --add pkgs_dirs <path to directory>/pkgs
Run Code Online (Sandbox Code Playgroud)

conda config --add envs_dirs <path to directory>/envs
Run Code Online (Sandbox Code Playgroud)

请参阅此处https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#specify-package-directories-pkgs-dirs


Aja*_*sht 5

您可以使用--prefix选项文档

选项 1:如果要在当前目录中创建虚拟环境,请使用

conda create --prefix=envName python=X.X
Run Code Online (Sandbox Code Playgroud)

选项 2:如果您想提及目录,请提供完整路径

conda create --prefix=/YourPath/yourEnvName python=x.x
Run Code Online (Sandbox Code Playgroud)

选项 3:如果您不想每次都明确提及路径并希望默认情况下所有环境都存储在其他地方,您可以在.condarc文件文档中进行设置

您可以使用以下命令在命令行中执行此操作:

conda config --add envs_dirs <path to directory>
Run Code Online (Sandbox Code Playgroud)

envs_dirs在您的.condarc文件中将添加一个额外的位置到包缓存搜索路径。

  • `--prefix` 将帮助我指定将创建新环境的文件夹。当前的问题是当环境创建正在进行时,它会下载包并将其存储在 `/home/userw123/.conda/pkgs` 中。这是造成麻烦的部分。 (2认同)
  • @AjayBisht 如何将现有的 envs 移动到其他文件夹?我们可以简单地将 `~/.conda/envs/` 中的所有文件夹 `mv` 到所需的文件夹吗? (2认同)

Sir*_*ein 5

我有同样的磁盘空间问题。所有文档和论坛都告诉我卸载 anaconda 并将其重新安装到新位置...我不希望这样,所以这里有另一种方法:

  • 将 anaconda 文件夹复制到新位置。让我们假设旧位置 /home/uname/anaconda3,新位置 /home/uname/mountx/anaconda3 cp -r /home/uname/anaconda3 /home/uname/mountx/anaconda3
  • 重命名原始 anaconda 文件夹(以确保以后不会使用它) mv /home/uname/anaconda3 /home/uname/anaconda3.bak
  • 将所有出现的“/home/uname/anaconda3”替换为“/home/uname/mountx/anaconda3”。在新的 anaconda 文件夹、.conda、.bashrc 和您的项目中执行此操作。我使用没有打开项目的 PyCharm 来进行替换,shell 中的 sed 也可以工作
  • 启动新的 anaconda shell 和 PyCharm 来测试它
  • 如果有效,则删除重命名的原始 anaconda 文件夹 rm -rf /home/uname/anaconda3.bak
  • 完毕

对我来说就像 PyCharm 一样工作得很好:)