anaconda conda:错误:参数命令:尝试更新软件包时选择无效

the*_*ter 19 python ubuntu anaconda conda

我正在使用 ubuntu 18 和 anaconda for python 3.6 并尝试更新软件包,当我尝试使用

conda update --all 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

conda:错误:参数命令:无效选择:'/home/user/anaconda3/bin/conda'

我尝试按照这个github 问题中的解释解决它

使用

$ conda update anaconda-navigator
$ conda update navigator-updater
Run Code Online (Sandbox Code Playgroud)

但遇到同样的错误。我尝试将 -c conda-forge 添加到所有命令并尝试使用 conda update anaconda conda update anaconda

并一直得到相同的错误。

这是我的 github问题

谢谢!

更新:即使尝试使用来安装 anaconda-clean 并删除 anaconda,我在尝试安装 conda-clean 时也会遇到相同的错误,这应该可以帮助我从计算机中删除 anaconda

小智 42

Conda 在不同环境中产生意外错误的问题是众所周知的。通常,默认设置与自己的设置冲突,或者如果自行配置,则可能在 shell 配置文件(例如,在我的例子中,文件~/.zshrc)中设置了错误的路径。

可以仔细分析原因,设置正确的路径,然后重新启动shell(对于zsh,可以通过 执行zsh -l)。

快速解决方案

但是,如果您很着急并希望稍后进行所有必要的配置,那么基于 Linux 的系统上存在更方便的解决方案;您可以简单地尝试以下操作:

source activate <env-name>
Run Code Online (Sandbox Code Playgroud)

了解问题

初始化Conda时,谨慎指定自己的shell名称,例如

conda init zsh 
Run Code Online (Sandbox Code Playgroud)

随后,将显示系统修改列表:

no change     /opt/homebrew/anaconda3/condabin/conda
no change     /opt/homebrew/anaconda3/bin/conda
no change     /opt/homebrew/anaconda3/bin/conda-env
no change     /opt/homebrew/anaconda3/bin/activate
no change     /opt/homebrew/anaconda3/bin/deactivate
no change     /opt/homebrew/anaconda3/etc/profile.d/conda.sh
no change     /opt/homebrew/anaconda3/etc/fish/conf.d/conda.fish
no change     /opt/homebrew/anaconda3/shell/condabin/Conda.psm1
no change     /opt/homebrew/anaconda3/shell/condabin/conda-hook.ps1
no change     /opt/homebrew/anaconda3/lib/python3.11/site-packages/xontrib/conda.xsh
no change     /opt/homebrew/anaconda3/etc/profile.d/conda.csh
modified /Users/<username>/.zshrc # <--- ADDITONAL CHANGES
Run Code Online (Sandbox Code Playgroud)

在这里检查一下,就会发现这个条目。

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

重启自己的shell后(如前所述,其中zsh -lwhere-l代表load),命令

conda activate <env-name> 
Run Code Online (Sandbox Code Playgroud)

然后应该按需要操作。

总之,简单总结一下:

  1. 初始化
conda init <shell-name> # e.g., zsh or bash
Run Code Online (Sandbox Code Playgroud)
  1. 通过重新启动终端来应用更改。

如果是zsh,那么

zsh -l
Run Code Online (Sandbox Code Playgroud)
  1. 为某个python版本创建新环境
conda create --name <env-name> python=3 
Run Code Online (Sandbox Code Playgroud)
  1. 检查环境是否已经创建
conda env list 
Run Code Online (Sandbox Code Playgroud)

一个例子是:

base                     /opt/homebrew/anaconda3
codellama             *  /opt/homebrew/anaconda3/envs/codellama
llama2                   /opt/homebrew/anaconda3/envs/llama2
Run Code Online (Sandbox Code Playgroud)

表示当前处于活动*状态codellama

  1. 活跃环境
conda activate <env-name>
Run Code Online (Sandbox Code Playgroud)

这应该可以正常运行,没有任何问题。

  • 谢谢。`conda init zsh` 为我解决了问题。 (5认同)

小智 19

我遇到了同样的问题,只需运行

conda init
Run Code Online (Sandbox Code Playgroud)

经过一整小时的故障排除后救了我。结果我的C:\Users\**\miniconda3\Scripts\activateC:\Users\**\miniconda3\Scripts\deactivate没有更新。


Kam*_*Kam 0

更新的答案:

对于Linux用户来说,我实际上发现删除 conda 添加的所有行.bashrcexport PATH="/home/<user>/anaconda3/bin:$PATH" 最好的解决方案。

以前的答案:

不确定这是否适合每个人,但我通过运行/home/<user>/anaconda3/bin/conda install anaconda-clean(或存储 conda 文件的任何位置)解决了这个问题,并且从安装的软件包中,问题神奇地消失了。

如果这不起作用,请尝试“完全”卸载 anaconda ( https://docs.anaconda.com/anaconda/install/uninstall/ ),重新安装它,然后尝试执行我上面建议的操作。