卸载后 PATH 仍然受到 Anaconda 的影响

卸载后 PATH 仍然受到 Anaconda 的影响

当我在终端 (macOS) 中运行 echo $PATH 时,它返回/opt/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin。我已经卸载了 anaconda,我的 opt 目录和 .bash_profile 都是空的。当我运行 which python 命令时,它返回:/usr/local/bin/python。在类似的问题中,问题可以通过从 PATH 环境变量中删除 anaconda 目录来解决,但我的目录~/.bash_profile是空的。

Python 在终端中运行良好,但我猜 PATH 首先会遍历 Anaconda 文件所在的空目录?我猜这不是最佳选择,并且将来可能会产生问题?

戈登·戴维森的解决方案:

我正在运行 zsh。以下是我在 z.profile 中找到的内容:

# Setting PATH for Python 3.9
# The original version is saved in .zprofile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
export PATH

这是我在 .zshrc 中找到的内容(当我尝试编辑它时,它说我“不拥有该文件”并且应该复制它进行编辑):

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

我找不到~/.zlogin或。~/.zshenv但这~/.profile是我在 中找到的内容paths.d(不确定文件“100-rvictl”是什么):

Last login: Mon Sep  6 17:21:00 on ttys001
me@mahmouds-mbp-2 ~ % /etc/paths.d/100-rvictl ; exit;
/etc/paths.d/100-rvictl: line 1: /Library/Apple/usr/bin: is a directory
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

答案1

看起来剩余的PATH条目来自您的~/.zshrc文件。整个“conda 初始化”部分(从# >>> conda initialize >>># <<< conda initialize <<<)应该被删除。如果这是文件中唯一的东西,您可以删除整个文件。但如果还有其他东西,您应该编辑它,最好先修复它的所有权。

修复文件所有权:您可以通过以下方式获取文件所有权:

sudo chown "$UID" ~/.zshrc

...但可能还有其他文件存在同样的问题,因此我建议运行ls -l ~以列出主文件夹中的所有文件,并将该修复程序应用于不属于您的其他文件。对于文件夹,也使用sudo chown -R "$UID" ~/foldername以获取其内容。

顺便说一句,所有权问题可能是由于某些安装程序或安装脚本以 root 身份运行(即使用sudo)而不是以您的用户 ID 运行,因此创建了由 root 而不是您拥有的文件。

哦,关于那个/etc/paths.d/100-rvictl文件:看起来你双击了它,试图将其作为脚本运行,但实际上并没有起作用(它不是脚本)。但从内容来看,它与此无关,应该不是问题。

相关内容