【问题标题】:Conda gives error when doing "source activate" in cmder在 cmder 中执行“源激活”时,Conda 出错
【发布时间】:2018-11-23 22:24:46
【问题描述】:

当我做source activate my_env 时,它给了我这个错误:

λ source activate py36

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

Traceback (most recent call last):
  File "C:\Miniconda3\lib\site-packages\conda\cli\main.py", line 98, in main
    return activator_main()
  File "C:\Miniconda3\lib\site-packages\conda\activate.py", line 632, in 
main
    print(activator.execute(), end='')
  File "C:\Miniconda3\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u03bb' in 
position 133: character maps to <undefined>

`$ C:\Miniconda3\Scripts\conda shell.posix activate py36`

  environment variables:
         ACLOCAL_PATH=C:\Program Files\Git\mingw64\share\aclocal;C:\Program
                      Files\Git\usr\share\aclocal
             CIO_TEST=<not set>
           CONDA_ROOT=C:\Miniconda3
          CONDA_SHLVL=0
              EXEPATH=C:\Program Files\Git\bin
             HOMEPATH=\Users\patel_223gv41
             INFOPATH=C:\Program Files\Git\usr\local\info;C:\Program
                      Files\Git\usr\share\info;C:\Program Files\Git\usr\info;C:\Program
                      Files\Git\share\info
              MANPATH=C:\Program Files\Git\mingw64\local\man;C:\Program
                      Files\Git\mingw64\share\man;C:\Program
                      Files\Git\usr\local\man;C:\Program Files\Git\usr\share\man;C:\Program
                      Files\Git\usr\man;C:\Program Files\Git\share\man
        ORIGINAL_PATH=C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users
                      \patel_223gv41\bin;C:\Yash\Cmder\vendor\conemu-
                      maximus5\ConEmu\Scripts;C:\Yash\Cmder\vendor\conemu-
                      maximus5;C:\Yash\Cmder\vendor\conemu-maximus5\ConEmu;C:\Miniconda3;C:\
                      Miniconda3\Library\mingw-w64\bin;C:\Miniconda3\Library\usr\bin;C:\Mini
                      conda3\Library\bin;C:\Miniconda3\Scripts;C:\Program Files
                      (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\WINDOWS\
                      system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Windo
                      wsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files
                      (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program
                      Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
                      (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program
                      Files\Intel\Intel(R) Management Engine
                      Components\IPT;C:\ProgramData\chocolatey\bin;C:\Program
                      Files\nodejs;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common
                      Files\Intel\WirelessCommon;C:\Program
                      Files\Java\jdk-10.0.2\bin;C:\Program Files\Git\cmd;C:\Users\patel_223g
                      v41\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft VS
                      Code\bin;C:\Yash\Cmder;C:\Users\patel_223gv41\AppData\Local\Microsoft\
                      WindowsApps;C:\Users\patel_223gv41\AppData\Roaming\npm;C:\Users\patel_
                      223gv41\AppData\Local\hyper\app-2.0.0\resources\bin;C:\Program Files\J
                      ava\jdk-10.0.2\bin;C:\Users\patel_223gv41\AppData\Local\Programs\Micro
                      soft VS Code\bin;C:\Users\patel_223gv41
                 PATH=C:\Users\patel_223gv41\bin;C:\Program Files\Git\mingw64\bin;C:\Program
                      Files\Git\usr\local\bin;C:\Program Files\Git\usr\bin;C:\Program
                      Files\Git\usr\bin;C:\Program Files\Git\mingw64\bin;C:\Program Files\Gi
                      t\usr\bin;C:\Users\patel_223gv41\bin;C:\Yash\Cmder\vendor\conemu-
                      maximus5\ConEmu\Scripts;C:\Yash\Cmder\vendor\conemu-
                      maximus5;C:\Yash\Cmder\vendor\conemu-maximus5\ConEmu;C:\Miniconda3;C:\
                      Miniconda3\Library\mingw-w64\bin;C:\Miniconda3\Library\usr\bin;C:\Mini
                      conda3\Library\bin;C:\Miniconda3\Scripts;C:\Program Files
                      (x86)\Intel\iCLS Client;C:\Program Files\Intel\iCLS Client;C:\WINDOWS\
                      system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Windo
                      wsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files
                      (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program
                      Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
                      (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program
                      Files\Intel\Intel(R) Management Engine
                      Components\IPT;C:\ProgramData\chocolatey\bin;C:\Program
                      Files\nodejs;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common
                      Files\Intel\WirelessCommon;C:\Program
                      Files\Java\jdk-10.0.2\bin;C:\Program Files\Git\cmd;C:\Users\patel_223g
                      v41\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Microsoft VS
                      Code\bin;C:\Yash\Cmder;C:\Users\patel_223gv41\AppData\Local\Microsoft\
                      WindowsApps;C:\Users\patel_223gv41\AppData\Roaming\npm;C:\Users\patel_
                      223gv41\AppData\Local\hyper\app-2.0.0\resources\bin;C:\Program Files\J
                      ava\jdk-10.0.2\bin;C:\Users\patel_223gv41\AppData\Local\Programs\Micro
                      soft VS Code\bin;C:\Users\patel_223gv41;C:\Program
                      Files\Git\usr\bin\vendor_perl;C:\Program Files\Git\usr\bin\core_perl
      PKG_CONFIG_PATH=C:\Program Files\Git\mingw64\lib\pkgconfig;C:\Program
                      Files\Git\mingw64\share\pkgconfig
         PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\Windows
                      PowerShell\v1.0\Modules
   REQUESTS_CA_BUNDLE=<not set>
        SSL_CERT_FILE=<not set>

 active environment : None
        shell level : 0
   user config file : C:\Users\patel_223gv41\.condarc
 populated config files : C:\Users\patel_223gv41\.condarc
      conda version : 4.5.11
conda-build version : not installed
     python version : 3.7.1.final.0
   base environment : C:\Miniconda3  (writable)
       channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                      https://repo.anaconda.com/pkgs/main/noarch
                      https://repo.anaconda.com/pkgs/r/win-64
                      https://repo.anaconda.com/pkgs/r/noarch
      package cache : C:\Miniconda3\pkgs
                      C:\Users\patel_223gv41\AppData\Local\conda\conda\pkgs
   envs directories : C:\Miniconda3\envs
                      C:\Users\patel_223gv41\AppData\Local\conda\conda\envs
                      C:\Users\patel_223gv41\.conda\envs
           platform : win-64
         user-agent : conda/4.5.11 requests/2.20.1 CPython/3.7.1 Windows/10 Windows/10.0.17134
      administrator : False
         netrc file : None
       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?
[y/N]:

你们能帮帮我吗?我只想能够从 Git Bash 激活 conda 环境。

此外,activate my_env 在我仅使用常规命令提示符时有效,因此 Git Bash 和 conda 似乎存在问题。

如果您需要,这是我的 conda 信息:

λ conda info

 active environment : None
        shell level : 0
   user config file : C:\Users\patel_223gv41\.condarc
 populated config files :
      conda version : 4.5.11
conda-build version : not installed
     python version : 3.7.0.final.0
   base environment : C:\Miniconda3  (writable)
       channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                      https://repo.anaconda.com/pkgs/main/noarch
                      https://repo.anaconda.com/pkgs/free/win-64
                      https://repo.anaconda.com/pkgs/free/noarch
                      https://repo.anaconda.com/pkgs/r/win-64
                      https://repo.anaconda.com/pkgs/r/noarch
                      https://repo.anaconda.com/pkgs/pro/win-64
                      https://repo.anaconda.com/pkgs/pro/noarch
                      https://repo.anaconda.com/pkgs/msys2/win-64
                      https://repo.anaconda.com/pkgs/msys2/noarch
      package cache : C:\Miniconda3\pkgs
                      C:\Users\patel_223gv41\AppData\Local\conda\conda\pkgs
   envs directories : C:\Miniconda3\envs
                      C:\Users\patel_223gv41\AppData\Local\conda\conda\envs
                      C:\Users\patel_223gv41\.conda\envs
           platform : win-64
         user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134
      administrator : False
         netrc file : None
       offline mode : False

编辑: conda activate 脚本似乎扫描了我的 bash 提示符并卡在 lambda“λ”上,因为它无法识别此字符。 如果您阅读错误消息,我认为这个特定部分很突出:UnicodeEncodeError: 'charmap' codec can't encode character '\u03bb' \u03bb 是 lambda 字符的 unicode 编码,但激活脚本无法识别它。有没有办法以某种方式更改编码,以便 conda 激活脚本可以识别此字符?

【问题讨论】:

  • 请不要在图片中发布代码/终端输出。请参阅此处了解原因:meta.stackoverflow.com/a/285557/2449192
  • 是的,这是有道理的。我会确保下次不再这样做。
  • 您可以edit您的帖子将图片中的文字放入您的帖子中

标签: conda miniconda cmder


【解决方案1】:

你似乎在Cmder session,这意味着issue 7445可以申请:

请注意,cmder 在每个命令前面都有一个 lambda 字符 (λ)。

我认为这是lambda charater (i.e. '\u03bb')\lib\encodings\cp1252.py 中的编码器/解码器类中没有正确处理。

解决方法:

在第 36 行删除 cmder\vendor\git-for-windows\etc\profile.d\git-prompt.sh 中的 lambda 字符。

PS1="$PS1"''                 # prompt: always "λ " 

【讨论】:

  • 我在一小时前才看到你的答案。有没有什么方法可以在保持 lambda 的同时仍然工作?当我使用常规 Cmder 而不是 Git-Bash 时,它仍然有 lambda,但它可以工作。所以如果激活脚本在我使用 Cmder 时可以读取 lambda,但在我使用 Git-Bash 时不能读取,那么 Git-Bash 中的编码似乎有问题,对吧?
  • 不确定,除非有办法配置 python 以支持与 CMD 兼容的代码(如 cp-850):stackoverflow.com/q/25127673/6309
  • 是的,我想我会求助于使用受支持的不同符号,直到我们找到方法。感谢您的帮助!
【解决方案2】:

试试这个。用“>>”之类的东西替换 lambda 符号。您需要在“YOURPATHTOCMDER\cmder\vendor\clink.lua”中找到文件并更改函数,function set_prompt_filter(),如下所示:

function set_prompt_filter()
-- orig: $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m{lamb}$S$E[0m
-- color codes: "\x1b[1;37;40m"
cwd = clink.get_cwd()
prompt = "\x1b[1;32;40m{cwd} {git}{hg} \n\x1b[1;30;40m{lamb} \x1b[0m"
new_value = string.gsub(prompt, "{cwd}", cwd)
clink.prompt.value = string.gsub(new_value, "{lamb}", ">>")

结束

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多