是否可以在不允许符号链接(硬链接或软链接)的文件系统上创建 conda 环境?
Is it possible to create a conda environment on a filesystem that doesn't allow symlinks (hard links or soft links)?
我想在不允许符号链接的文件系统(天蓝色文件)上创建和使用 conda 环境。这可能吗?
环境是一个安装了文件共享的 Azure 容器实例。我正在尝试在文件共享上创建环境。
我试过 conda create /path/to/share -f my_env.yaml
失败并出现类似 Error: create soft link operation unavaliable
的错误。
我所做的 sort of woks 是在容器主页 space(允许符号链接的普通文件系统)中创建环境,然后复制到文件与复制选项共享以跟随符号链接,例如:`
conda create ~/temp_env_location -f my_env.yaml
cp -rL ~/temp_env_location /path/to/share
这个 sort 的工作原理,但即使对于小型环境,它也会复制数千个文件。非常慢,我还没有对其进行足够的测试以确保它运行良好。
对更好的方法有什么建议吗?
无软链接
首先,我有点惊讶它会尝试软链接,因为默认配置选项是 allow_softlinks: false
。也许尝试明确设置:
conda config --set allow_softlinks false
并查看 conda create
是否会默认工作。如果不是那么...
仅复制
conda create
命令有一个标记表明您正在做什么:
Package Linking and Install-time Options:
--copy Install all packages using copies instead of hard- or
soft-linking.
所以你可以做到
conda create --copy /path/to/share -f my_env.yaml
并避免必须手动进行复制。不幸的是,我认为这最终会导致相同的磁盘使用。
始终复制
如果你永远需要使用这个选项,那么你可以在配置中永久设置always_copy
选项:
conda config --set always_copy true
我想在不允许符号链接的文件系统(天蓝色文件)上创建和使用 conda 环境。这可能吗?
环境是一个安装了文件共享的 Azure 容器实例。我正在尝试在文件共享上创建环境。
我试过 conda create /path/to/share -f my_env.yaml
失败并出现类似 Error: create soft link operation unavaliable
的错误。
我所做的 sort of woks 是在容器主页 space(允许符号链接的普通文件系统)中创建环境,然后复制到文件与复制选项共享以跟随符号链接,例如:`
conda create ~/temp_env_location -f my_env.yaml
cp -rL ~/temp_env_location /path/to/share
这个 sort 的工作原理,但即使对于小型环境,它也会复制数千个文件。非常慢,我还没有对其进行足够的测试以确保它运行良好。
对更好的方法有什么建议吗?
无软链接
首先,我有点惊讶它会尝试软链接,因为默认配置选项是 allow_softlinks: false
。也许尝试明确设置:
conda config --set allow_softlinks false
并查看 conda create
是否会默认工作。如果不是那么...
仅复制
conda create
命令有一个标记表明您正在做什么:
Package Linking and Install-time Options:
--copy Install all packages using copies instead of hard- or
soft-linking.
所以你可以做到
conda create --copy /path/to/share -f my_env.yaml
并避免必须手动进行复制。不幸的是,我认为这最终会导致相同的磁盘使用。
始终复制
如果你永远需要使用这个选项,那么你可以在配置中永久设置always_copy
选项:
conda config --set always_copy true