【问题标题】:Anaconda Python causing slow terminal startup/promptAnaconda Python 导致终端启动/提示缓慢
【发布时间】:2018-10-08 16:54:07
【问题描述】:

我最近在我的 Linux Mint 19.0 桌面上安装了 Anconda Python。实际上,我之前安装过它,一切都很好,就像我的 Mint 19.0 笔记本电脑一样。但是,我最近不得不擦拭我的桌面并重新安装所有东西。现在,每当我打开终端程序时,提示都会出现几秒钟。我在我的 bash 配置文件的开头和结尾添加了 set -x、set +x 来诊断减速的位置。

终端负载挂在这一行:

/home/auerilas/anaconda3/bin/conda shell.bash hook

几秒钟。它以前从未这样做过,也不会在我的另一台计算机上这样做。关于为什么会发生这种情况的任何想法?这不是破坏交易,但很烦人。

【问题讨论】:

  • 那么删除那一行?它有什么作用?
  • 如何删除该行?它没有出现在 .profile 或 .bashrc 中
  • 尝试在 $HOME/.bash_profile 中查找。 anaconda 安装程序会自动生成并维护这一行。我遇到了同样的问题:由这条线引起的终端启动时间异常长。
  • 谢谢@aph。在 Linux Mint 上,这些行显示在 ~/.bashrc 中。当我注释掉这些行时,终端提示符会按预期快速弹出(当然,anaconda 不再起作用)。这似乎是问题的根源。

标签: python bash anaconda


【解决方案1】:

我遇到了同样的问题,我通过恢复旧的 .bashrc 文件解决了这个问题,然后我可以在需要时加载 Anaconda 的 bash 配置文件。

要实现这一点,请按照以下步骤操作

  1. 通过在终端中执行这些命令,将当前的 .bashrc 文件重命名为 conda.bashrc 之类的文件
cd ~
mv .bashrc conda.bashrc
mv .bashrc-anaconda3.bak .bashrc
  1. 现在,您必须在 .bashrc 文件中定义自定义命令,以便它仅在需要时加载 Anaconda,首先您需要在文本编辑器中打开 .bahsrc 文件
gedit .bahsrc
  1. 将以下行添加到 .bashrc 的末尾,以便它可以加载包含 anaconda 包配置的其他 conda.bashrc 文件
alias anaconda='source  conda.bashrc'
  1. 使用上述编辑保存 .bahsrc 并在终端窗口中输入
source .bashrc
  1. 现在您只需在终端窗口中输入 anaconda 即可加载 anaconda
anaconda

【讨论】:

  • 我建议将 'mv .bashrc conda.bashrc' 更改为 'cp .bashrc conda.bashrc'。原因是在 'mv .bashrc-anaconda3.bak .bashrc' 之前,由于任何中断,您可能会暂时冒着丢失 .bashrc 的风险:断电、连接中断、计算机崩溃、浴室紧急情况......鉴于很多 conda 用户对他们正在运行的计算机没有物理或 root 访问权限,这可能会导致几天甚至几周的时间与 IT 部门打交道以重置主文件夹。
【解决方案2】:

尝试将 anaconda 的默认加载设置为 False。

conda config --set auto_activate_base false

仅当您运行命令conda activate 时才会加载公寓路径

【讨论】:

    【解决方案3】:

    另一种不涉及删除 Anaconda 的方法是更新到最新版本的 Anaconda。这可以从 Anaconda Navigator 完成,并且 bash 启动对我来说得到了极大的改进。

    【讨论】:

      【解决方案4】:

      就我而言,也是由 Conda 引起的。 我通过注释掉 ~/.bashrc 的一部分来修复它

      删除/注释掉:

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

      目录可能会有所不同,具体取决于您安装它的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-02
        相关资源
        最近更新 更多