具体来说,我正在使用conda
命令部分迷你康达分布。碰巧安装程序将文件放入/root/miniconda3/
.
问题是/root/miniconda3/bin
在路径中,但该命令conda
只能由 root 运行,而不能由其他 sudoer 运行。
我尝试设置权限777
(我知道这很糟糕,因为它包含编译器和东西,并且它位于根目录下,但这仅适用于测试环境)。
注意:我拥有 root 和 sudoer。
答案1
sudo conda
不一定会运行/root/.bash_profile
,而是您原始帐户的运行,除非设置了该/etc/sudoers
选项。always_set_home
这是设计使然:它允许同一系统上的多个管理员成为 root 并仍然保持他们个人的 shell 环境首选项。
此外,由于在以目标用户身份执行命令之前sudo
始终将环境变量重置为标准默认值,因此您作为原始用户的设置将不会保留在.PATH
PATH
sudo
在这种情况下,您需要在使用 shell执行sudo
命令之前设置该命令,以便 PATH 设置生效并找到其其他配置文件:HOME=/root
conda
/root/.bash_profile
conda
$HOME/.condarc
文件$HOME/.conda/
目录$HOME/.continuum/
目录
为此,请运行sudo -H conda
或sudo -i conda
而不是仅运行sudo conda
.