为什么现在每次打开新终端时都会出现 conda 环境错误?

时间:2021-02-22 14:51:55

标签: terminal anaconda conda

我一直致力于使用 conda 为本地计算机 (mac os) 上的新项目创建自定义环境。在项目目录中,我使用 yml 文件创建了一个新环境:

$ conda env create --prefix ./env --file environment.yml

然后:

$ conda activate ./env

我现在每次打开终端时都会收到 conda 错误报告,但我不明白发生了什么。如果有人对我破坏了什么以及如何修复它有任何见解,将不胜感激。我希望我在这里包含了足够的信息来理解这个问题。这是终端的错误输出:

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/cli/main.py", line 140, in main
        return activator_main()
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 1210, in main
        print(activator.execute(), end='')
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 178, in execute
        return getattr(self, self.command)()
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 152, in activate
        builder_result = self.build_activate(self.env_name_or_prefix)
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 300, in build_activate
        return self._build_activate_stack(env_name_or_prefix, False)
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 326, in _build_activate_stack
        conda_prompt_modifier = self._prompt_modifier(prefix, conda_default_env)
      File "/Users/jrudd/opt/anaconda3/lib/python3.8/site-packages/conda/activate.py", line 691, in _prompt_modifier
        return context.env_prompt.format(
    KeyError: 'ds-basic'

`$ /Users/jrudd/opt/anaconda3/bin/conda shell.posix activate base`

  environment variables:
                 CIO_TEST=<not set>
                CONDA_EXE=/Users/jrudd/opt/anaconda3/bin/conda
         CONDA_PYTHON_EXE=/Users/jrudd/opt/anaconda3/bin/python
               CONDA_ROOT=/Users/jrudd/opt/anaconda3
              CONDA_SHLVL=0
           CURL_CA_BUNDLE=<not set>
                     PATH=/Users/jrudd/opt/anaconda3/bin:/Users/jrudd/opt/anaconda3/condabin:/us
                          r/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : None
            shell level : 0
       user config file : /Users/jrudd/.condarc
 populated config files : /Users/jrudd/.condarc
          conda version : 4.9.2
    conda-build version : 3.18.11
         python version : 3.8.3.final.0
       virtual packages : __osx=10.16=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /Users/jrudd/opt/anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/jrudd/opt/anaconda3/pkgs
                          /Users/jrudd/.conda/pkgs
       envs directories : /Users/jrudd/opt/anaconda3/envs
                          /Users/jrudd/.conda/envs
               platform : osx-64
             user-agent : conda/4.9.2 requests/2.24.0 CPython/3.8.3 Darwin/20.3.0 OSX/10.16
                UID:GID : 501:20
             netrc file : /Users/jrudd/.netrc
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.

If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

谢谢!

1 个答案:

答案 0 :(得分:2)

所以,我发现我通过将基础 env_prompt 更改为 ({ds-basic}) 来搞砸了 .condarc 配置文件。对于上下文,ds-basic 是此项目环境的名称。不要问我为什么或如何这样做,因为我真的不知道。可能是我在咖啡引起的阴霾期间做的事情。我找到了 .condarc 文件并编辑了有问题的代码。它实际上已经完全破坏了 conda,我什至无法激活基础环境。一旦我修复了 .condarc 文件,一切都很好。