我目前正在使用 miniconda,我想防止我自己和我机器的其他用户在base
环境中安装任何东西。这是因为我希望用户创建虚拟环境并在那里安装东西。我也不希望我的基础环境变得臃肿。
有没有办法做到这一点?我同时使用 conda 和 pip,所以我想我需要以某种方式阻止这两者。
Gav*_*kaa 12
您可以将其添加到您的.bashrc
或.zshrc
function pip(){
if [ "${CONDA_PROMPT_MODIFIER-}" = "(base) " ] && [ "$1" = "install" ]; then
echo "Not allowed in base"
else
command pip "$@"
fi
}
function extended_conda(){
if [ "${CONDA_PROMPT_MODIFIER-}" = "(base) " ] && [ "$1" = "install" ]; then
echo "Not allowed in base"
else
conda "$@"
fi
}
alias conda=extended_conda
Run Code Online (Sandbox Code Playgroud)
如果您处于基本环境中,它将拒绝安装命令。
一种选择是将目录 pip 和 conda 安装包的写入权限更改为基本环境。这些位置根据您的发行版而有所不同,但您可以使用类似的内容进行检查python -c "import setuptools; print(setuptools.__file__)"
。默认情况下,父目录setuputils
将是软件包的安装位置。运行chmod -w <packages dir>
以删除写入权限。您可以随时将它们添加回来chmod +w <packages dir>
,但是当它们被禁用时,这应该可以防止您意外地在那里安装软件包。除非你随意安装软件包sudo
,否则......