月度归档: 2025 年 6 月

  • VSCode终端编码问题-Conda

    UnicodeEncodeError: 'gbk' codec can't encode character '\u03a2' in position 3301: illegal multibyte sequence

    环境

    操作系统:Windows 10

    开发环境:Visual Studio Code 1.101

    虚拟环境管理:Miniconda conda 24.9.2

    操作流程:打开VSCode -> 打开Terminal

    报错信息

    # >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
    
        Traceback (most recent call last):
          File "C:\miniconda3\Lib\site-packages\conda\exception_handler.py", line 18, in __call__
            return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^
          File "C:\miniconda3\Lib\site-packages\conda\cli\main.py", line 87, in main_sourced
            print(activator.execute(), end="")
        UnicodeEncodeError: 'gbk' codec can't encode character '\u03a2' in position 3301: illegal multibyte sequence
    
    `$ C:\miniconda3\Scripts\conda-script.py shell.powershell activate base`
    
      environment variables:
         BUNDLED_DEBUGPY_PATH=c:\Users\LlOveU\.vscode\extensions\ms-
                              python.debugpy-2025.8.0-win32-x64\bundled\libs\debugpy
                     CIO_TEST=<not set>
                    CLASSPATH=.;C:\Java\JDK\lib\dt.jar;C:\Java\JDK\lib\tools.jar;
            CONDA_DEFAULT_ENV=draw_graph
                    CONDA_EXE=C:\miniconda3\Scripts\conda.exe
                 CONDA_PREFIX=C:\Users\LlOveU\.conda\envs\draw_graph
               CONDA_PREFIX_1=C:\miniconda3
        CONDA_PROMPT_MODIFIER=(draw_graph)
             CONDA_PYTHON_EXE=C:\miniconda3\python.exe
                   CONDA_ROOT=C:\miniconda3
                  CONDA_SHLVL=2
                    CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6
               CURL_CA_BUNDLE=<not set>
                     HOMEPATH=\Users\LlOveU
                  HTTPS_PROXY=<set>
                   HTTP_PROXY=<set>
                   LD_PRELOAD=<not set>
                         PATH=C:\Users\LlOveU\.conda\envs\draw_graph;C:\Users\LlOveU\.conda\envs\dra
                              w_graph\Library\mingw-
                              w64\bin;C:\Users\LlOveU\.conda\envs\draw_graph\Library\usr\bin;C:\User
                              s\LlOveU\.conda\envs\draw_graph\Library\bin;C:\Users\LlOveU\.conda\env
                              s\draw_graph\Scripts;C:\Users\LlOveU\.conda\envs\draw_graph\bin;C:\min
                              iconda3\condabin;C:\Program Files\NVIDIA GPU Computing
                              Toolkit\CUDA\v12.6\bin;C:\Program Files\NVIDIA GPU Computing
                              Toolkit\CUDA\v12.6\libnvvp;C:\Program Files\Common
                              Files\Oracle\Java\javapath;C:\Program Files (x86)\Common
                              Files\Oracle\Java\java8path;C:\Program Files (x86)\Common
                              Files\Oracle\Java\javapath;C:\Program Files (x86)\VMware\VMware Workst
                              ation\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\W
                              indows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\
                              Program Files\Tailscale;D:\VSCode\bin;C:\Program
                              Files\Git\cmd;C:\MinGW\bin;C:\Java\JDK\bin;C:\Java\JRE\bin;C:\Program
                              Files\CMake\bin;C:\Program Files (x86)\NVIDIA
                              Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\Nsight
                              Compute 2024.3.2;C:\Program Files (x86)\GnuWin32\bin;C:\Program
                              Files\NVIDIA Corporation\NVIDIA
                              app\NvDLISR;C:\miniconda3\Scripts;C:\Program
                              Files\Neovim\bin;C:\Users\LlOveU\.cargo\bin;C:\Program Files\ffmpeg\bi
                              n;D:\nvm;D:\nodejs;D:\Xshell8;D:\Xftp8;C:\Users\LlOveU\AppData\Roaming
                              \Python\Python38\Script;C:\Program
                              Files\Docker\Docker\resources\bin;C:\Program
                              Files\Docker\Docker;C:\Program Files
                              (x86)\Tencent\微锟斤拷web锟斤拷锟斤拷锟竭癸拷锟斤拷\dll;C:\Program
                              Files\ez_windows_amd64;C:\Program Files\Prince\engine\bin;C:\Program
                              Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.4
                              3.34808\bin\Hostx64\x64;C:\Program Files (x86)\Windows
                              Kits\10\bin\10.0.20348.0\x64;C:\Program Files (x86)\Windows
                              Kits\10\Windows Performance Toolkit;C:\Program Files\fscan;d:\cursor\r
                              esources\app\bin;D:\impacket;D:\kekeo\x64;D:\mimikatz\x64;D:\PsLoggedo
                              n;C:\Users\LlOveU\AppData\Local\Programs\oh-my-posh\bin;C:\Users\LlOve
                              U\.cargo\bin;D:\LaTeX\texlive\2024\bin\windows;D:\nodejs\node_global;D
                              :\nvm;D:\nodejs;D:\cursor\resources\app\bin;.;C:\miniconda3;C:\minicon
                              da3\Library\mingw-
                              w64\bin;C:\miniconda3\Library\usr\bin;C:\miniconda3\Library\bin;C:\min
                              iconda3\Scripts;C:\miniconda3\bin;C:\miniconda3\condabin;C:\Program
                              Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin;C:\Program
                              Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\libnvvp;C:\Program
                              Files\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Common
                              Files\Oracle\Java\java8path;C:\Program Files (x86)\Common
                              Files\Oracle\Java\javapath;C:\Program Files (x86)\VMware\VMware Workst
                              ation\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\W
                              indows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\
                              Program Files\Tailscale;D:\VSCode\bin;C:\Program
                              Files\Git\cmd;C:\MinGW\bin;C:\Java\JDK\bin;C:\Java\JRE\bin;C:\Program
                              Files\CMake\bin;C:\Program Files (x86)\NVIDIA
                              Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\Nsight
                              Compute 2024.3.2;C:\Program Files (x86)\GnuWin32\bin;C:\Program
                              Files\NVIDIA Corporation\NVIDIA
                              app\NvDLISR;C:\miniconda3\Scripts;C:\Program
                              Files\Neovim\bin;C:\Users\LlOveU\.cargo\bin;C:\Program Files\ffmpeg\bi
                              n;D:\nvm;D:\nodejs;D:\Xshell8;D:\Xftp8;C:\Users\LlOveU\AppData\Roaming
                              \Python\Python38\Script;C:\Program
                              Files\Docker\Docker\resources\bin;C:\Program
                              Files\Docker\Docker;C:\Program Files
                              (x86)\Tencent\΢��web�����߹���\dll;C:\Program
                              Files\ez_windows_amd64;C:\Program Files\Prince\engine\bin;C:\Program
                              Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.4
                              3.34808\bin\Hostx64\x64;C:\Program Files (x86)\Windows
                              Kits\10\bin\10.0.20348.0\x64;C:\Program Files (x86)\Windows
                              Kits\10\Windows Performance Toolkit;C:\Program Files\fscan;d:\cursor\r
                              esources\app\bin;D:\impacket;D:\kekeo\x64;D:\mimikatz\x64;D:\PsLoggedo
                              n;C:\Users\LlOveU\AppData\Local\Programs\oh-my-posh\bin;C:\Users\LlOve
                              U\.cargo\bin;D:\LaTeX\texlive\2024\bin\windows;D:\nodejs\node_global;D
                              :\nvm;D:\nodejs;D:\cursor\resources\app\bin;.
             POSH_THEMES_PATH=C:\Users\LlOveU\AppData\Local\Programs\oh-my-posh\themes\
                 PSMODULEPATH=C:\Users\LlOveU\Documents\WindowsPowerShell\Modules;C:\Program Files\W
                              indowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Mo
                              dules
               PYTHONENCODING=UTF-8
           REQUESTS_CA_BUNDLE=<not set>
                SSL_CERT_FILE=C:\Users\LlOveU\.conda\envs\draw_graph\Library\ssl\cacert.pem
    
         active environment : draw_graph
        active env location : C:\Users\LlOveU\.conda\envs\draw_graph
                shell level : 2
           user config file : C:\Users\LlOveU\.condarc
     populated config files : C:\miniconda3\.condarc
                              C:\Users\LlOveU\.condarc
              conda version : 24.9.2
        conda-build version : not installed
             python version : 3.12.7.final.0
                     solver : libmamba (default)
           virtual packages : __archspec=1=skylake
                              __conda=24.9.2=0
                              __cuda=12.7=0
                              __win=0=0
           base environment : C:\miniconda3  (read only)
          conda av data dir : C:\miniconda3\etc\conda
      conda av metadata url : None
               channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/noarch
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/noarch
              package cache : C:\miniconda3\pkgs
                              C:\Users\LlOveU\.conda\pkgs
                              C:\Users\LlOveU\AppData\Local\conda\conda\pkgs
           envs directories : C:\Users\LlOveU\.conda\envs
                              C:\miniconda3\envs
                              C:\Users\LlOveU\AppData\Local\conda\conda\envs
                   platform : win-64
                 user-agent : conda/24.9.2 requests/2.32.3 CPython/3.12.7 Windows/10 Windows/10.0.19045 solver/libmamba conda-libmamba-solver/24.9.0 libmambapy/1.5.8
              administrator : False
                 netrc file : None
               offline mode : False
    
    
    An unexpected error has occurred. Conda has prepared the above report.
    If you suspect this error is being caused by a malfunctioning plugin,
    consider using the --no-plugins option to turn off plugins.
    
    Example: conda --no-plugins install <package>
    
    Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
    the command line to run the command without plugins enabled.
    
    Example: CONDA_NO_PLUGINS=true conda install <package>
    
    Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。
    所在位置 C:\miniconda3\shell\condabin\Conda.psm1:76 字符: 36
    +         Invoke-Expression -Command $activateCommand;
    +                                    ~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidData: (:) [Invoke-Expression],ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.InvokeExpressionCommand

    碍事表现

    输入 conda deactivate 无法退出当前conda环境。

    错误原因

    这个错误是与字符编码相关的问题,可能是由于终端在尝试将某个特殊字符以GBK编码(Windows似乎默认是GBK编码)写入输出时出现了问题。

    解决这个问题的方法通常是将终端的编码设置更改为支持更广泛字符集的编码,如UTF-8。

    解决办法

    VSCode的解决办法是在settings.json中加入:

    {
        "terminal.integrated.env.windows": {
            "PYTHONIOENCODING": "utf-8",
        },
    }

    即可设置终端编码,重启后生效。