提问人:Chirag Mehta 提问时间:10/18/2023 更新时间:10/19/2023 访问量:98
如何使用 python 默认解释器而不是 miniconda 的基本 python 解释器
How to use the python default interpreter instead of miniconda's base python interpreter
问:
我的默认 python 解释器已设置为 conda 的基本环境 python 解释器。我希望我的默认值是默认值。/usr/bin/python3
我看过这个问题,它表明更改 PATH 中的顺序会起作用。但是我是鱼用户,所以任务变得更加乏味。
仅仅使用 更改 PATH 环境变量不起作用,可能是因为我的以下部分set -U PATH <my path>
config.fish
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
if test -f /home/cmaspi/miniconda3/bin/conda
eval /home/cmaspi/miniconda3/bin/conda "shell.fish" "hook" $argv | source
end
# <<< conda initialize <<<
这可能是改变 PATH 的罪魁祸首,但我不确定。如何更改路径,使我的旧路径成为默认路径?conda "shell.fish" "hook"
/usr/bin/python3
答:
您可以添加 PATH 变量以将 “/usr/bin” 作为第一个目录。您可以使用该命令并将此命令放在 Conda 初始化块之前:set
# Set the default Python interpreter
set -x PATH /usr/bin $PATH
# >>> conda initialize >>>
if test -f /home/cmaspi/miniconda3/bin/conda
eval /home/cmaspi/miniconda3/bin/conda "shell.fish" "hook" $argv | source
end
# <<< conda initialize <<<
# Other Fish shell configurations
# ...
# Alias to use 'python' to run Python 3
alias python /usr/bin/python3
请记住,要应用这些更改。source
评论
简而言之:可以告诉将路径移动到$PATH前面:fish_add_path
fish_add_path --path --move /usr/bin
(“--move”告诉它移动已经包含的路径,“--path”告诉它直接对$PATH操作)
这将注意只在$PATH中留下一个 /usr/bin,如果它已经在前面,它不会做任何事情。
如果您有 $PATH
/usr/bin /usr/local/bin
Conda 将其设置为
/path/to/conda/bin /usr/bin /usr/local/bin
这将把它变成
/usr/bin /path/to/conda/bin /usr/local/bin
您还可以存放旧$PATH并将所有这些部件移到前面:
set -l oldpath $PATH
/home/cmaspi/miniconda3/bin/conda shell.fish hook | source
fish_add_path --move --path $oldpath
或者,您可以使用以下命令将 conda 组件移动到$PATH的后面(使用我的安装使用的实际路径):--append
/home/cmaspi/miniconda3/bin/conda shell.fish hook | source
fish_add_path --move --path --append /opt/miniconda3/bin /opt/miniconda3/condabin
这里的调用并没有做任何神奇的事情。conda
它打印代码,然后读取该代码。你可以通过运行来检查它,看看它打印了什么。source
/path/to/conda shell.fish hook
这里重要的一点就在最后。 是钩子定义的函数,如果你遵循它,你会看到它最终会运行conda activate base
conda
conda activate base
eval ($CONDA_EXE shell.fish activate base)
(其中 $CONDA_EXE 是 conda 的路径)
这是另一个最终打印鱼代码的命令,您可以运行它并查看打印的内容,其中包括:conda shell.fish activate base
set -gx PATH "/opt/miniconda3/bin" "/opt/miniconda3/condabin" "/usr/local/sbin" "/usr/local/bin" "/usr/bin" "/usr/bin/site_perl" "/usr/bin/vendor_perl" "/usr/bin/core_perl";
其中“/opt/miniconda3/bin”和“/opt/miniconda3/condabin”是新的,其余的是我的旧$PATH。所以它实际上只是在前面添加这些组件。
评论
condabin/
conda
python
conda
auto_activate_base: false
bin/
评论
/home/cmaspi/miniconda3/bin/conda shell.fish hook
source
eval
conda config --set auto_activate_base false
auto_activate_base: false
condabin/
python
bin/