我正在try 使用带有VS代码的Conda、PYTHON.我在集成终端中使用的shell 是PowerShell.

在Windows终端上一切运行正常,但在我重新启动vscode终端后,所有的conda命令都不能在vscode终端上运行(除了激活和停用).


  1. CONDA命令在第一次激活时起作用 Fist activtion

  2. 重新启动后出错

(dl) C:\Users\{USERNAME}\Documents\VScode Workspace\pytorch>conda env list

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

    Traceback (most recent call last):
      File "C:\Users\{USERNAME}\anaconda3\Lib\site-packages\conda\exception_handler.py", line 17, in __call__
        return func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\{USERNAME}\anaconda3\Lib\site-packages\conda\cli\main.py", line 54, in main_subshell
        parser = generate_parser(add_help=True)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "C:\Users\{USERNAME}\anaconda3\Lib\site-packages\conda\cli\conda_argparse.py", line 127, in generate_parser
        configure_parser_plugins(sub_parsers)
      File "C:\Users\{USERNAME}\anaconda3\Lib\site-packages\conda\cli\conda_argparse.py", line 354, in configure_parser_plugins
        else set(find_commands()).difference(plugin_subcommands)
                 ^^^^^^^^^^^^^^^
      File "C:\Users\{USERNAME}\anaconda3\Lib\site-packages\conda\cli\find_commands.py", line 71, in find_commands
        for entry in os.scandir(dir_path):
                     ^^^^^^^^^^^^^^^^^^^^
    OSError: [WinError 123]  The filename, directory name, or volume label syntax is 
incorrect: '.C:\\WINDOWS\\system32'

`$ C:\Users\{USERNAME}\anaconda3\Scripts\conda-script.py env list`

  environment variables:
                 CIO_TEST=<not set>
        CONDA_DEFAULT_ENV=dl
                CONDA_EXE=C:\Users\{USERNAME}\anaconda3\condabin\..\Scripts\conda.exe
               CONDA_EXES="C:\Users\{USERNAME}\anaconda3\condabin\..\Scripts\conda.exe"
             CONDA_PREFIX=C:\Users\{USERNAME}\anaconda3\envs\dl
    CONDA_PROMPT_MODIFIER=(dl)
         CONDA_PYTHON_EXE=C:\Users\{USERNAME}\anaconda3\python.exe
               CONDA_ROOT=C:\Users\{USERNAME}\anaconda3
              CONDA_SHLVL=1
           CURL_CA_BUNDLE=<not set>
                 HOMEPATH=\Users\{USERNAME}
               LD_PRELOAD=<not set>
                     PATH=C:\Users\{USERNAME}\anaconda3\envs\dl;C:\Users\LAPTOP-
                          PNE\anaconda3\envs\dl\Library\mingw-w64\bin;C:\Users\LAPTOP-
                          PNE\anaconda3\envs\dl\Library\usr\bin;C:\Users\LAPTOP-
                          PNE\anaconda3\envs\dl\Library\bin;C:\Users\LAPTOP-
                          PNE\anaconda3\envs\dl\Scripts;C:\Users\LAPTOP-
                          PNE\anaconda3\envs\dl\bin;C:\Users\{USERNAME}\anaconda3\condabin;C:\WI
                          NDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32
                          \WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program
                          Files\Bandizip;C:\Program Files\Microsoft SQL
                          Server\150\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client
                          SDK\ODBC\170\Tools\Binn;C:\Program Files\dotnet;C:\Users\LAPTOP-
                          PNE\AppData\Local\Microsoft\WindowsApps;C:\Users\LAPTOP-
                          PNE\.dotnet\tools;C:\Users\{USERNAME}\AppData\Local\Programs\Microsoft
                          VS Code\bin;C:\Users\{USERNAME}\anaconda3;C:\Users\LAPTOP-
                          PNE\anaconda3\Library;C:\Users\{USERNAME}\anaconda3\Scripts;.C:\WINDOW
                          S\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\Win
                          dowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program
                          Files\Bandizip\;C:\Program Files\Microsoft SQL
                          Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client
                          SDK\ODBC\170\Tools\Binn\;C:\Program Files\dotnet\;C:\Users\LAPTOP-
                          PNE\AppData\Local\Microsoft\WindowsApps;C:\Users\LAPTOP-
                          PNE\.dotnet\tools;C:\Users\{USERNAME}\AppData\Local\Programs\Microsoft
                          VS Code\bin;C:\Users\{USERNAME}\anaconda3;C:\Users\LAPTOP-
                          PNE\anaconda3\Library;C:\Users\{USERNAME}\anaconda3\Scripts;
             PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\Windows
                          PowerShell\v1.0\Modules
         PYTHONIOENCODING=utf-8
         PYTHONUNBUFFERED=1
               PYTHONUTF8=1
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=C:\Users\{USERNAME}\anaconda3\envs\dl\Library\ssl\cacert.pem

     active environment : dl
    active env location : C:\Users\{USERNAME}\anaconda3\envs\dl
            shell level : 1
       user config file : C:\Users\{USERNAME}\.condarc
 populated config files : C:\Users\{USERNAME}\.condarc
          conda version : 23.7.4
    conda-build version : 3.26.1
         python version : 3.11.5.final.0
       virtual packages : __archspec=1=x86_64
                          __cuda=11.2=0
                          __win=0=0
       base environment : C:\Users\{USERNAME}\anaconda3  (writable)
      conda av data dir : C:\Users\{USERNAME}\anaconda3\etc\conda
  conda av metadata url : None
           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
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\{USERNAME}\anaconda3\pkgs
                          C:\Users\{USERNAME}\.conda\pkgs
                          C:\Users\{USERNAME}\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\{USERNAME}\anaconda3\envs
                          C:\Users\{USERNAME}\.conda\envs
                          C:\Users\{USERNAME}\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/23.7.4 requests/2.31.0 CPython/3.11.5 Windows/10 Windows/10.0.22621
          administrator : False
             netrc file : None
           offline mode : False

我认为这是Conda env或python扩展的问题. 当Conda Env被激活时,系统路径被修改,在路径的最后附加单个点. 而Python扩展还通过在后面附加{envPath}来修改系统路径. 点和envpath的串联创建了无效的路径(即,".c:\system 32")

禁用Python扩展的激活环境选项可以防止出现错误,但它也会禁用Conda环境自动激活.

另外,我找到了那个圆点.停用Conda后,系统路径的最后一条未删除

>echo %PATH%
C:\Users\{USERNAME}\anaconda3\condabin; (...) C:\Users\{USERNAME}\anaconda3\Scripts;

>conda activate 
(base)>echo %PATH%
C:\Users\{USERNAME}\anaconda3; (...) C:\Users\{USERNAME}\anaconda3\Scripts;.

(base)>conda deactivate
>echo %PATH%
C:\Users\{USERNAME}\anaconda3\condabin;  (...) C:\Users\{USERNAME}\anaconda3\Scripts;.

推荐答案

这是一个错误:A drive with the name '.C' does not exist #22047.

修复是在the pre-release channel of the Python extension年的Make sure PATH ends with a separator before prepending #22046年完成的.

另一个(更糟糕的)解决方案(变通方法):One user, kwikwag, has found a temporary workaround$env:Path = $env:Path.replace('.c','.;c')放入他们的profile.ps1文件中.

该错误与使用VS Code的shell 集成相关功能和API(如EnvironmentVariableMutator)的Python扩展对环境变量修改代码的更改有关.这是最近的变化,你可以在https://code.visualstudio.com/updates/v1_82#_terminal-activation-using-environment-variables上读到.请注意,您可以通过在您的settings.json file中添加"python.experiments.optOutFrom": ["pythonTerminalEnvVarActivation"]来退出该实验.另请参阅相关的python.terminal.activateEnvInCurrentTerminalpython.terminal.activateEnvironment设置.

Python相关问答推荐

如何修复fpdf中的线路出血

在Python中,如何才能/应该使用decorator 来实现函数多态性?

是什么导致对Python脚本的jQuery Ajax调用引发500错误?

添加包含中具有任何值的其他列的计数的列

由于NEP 50,向uint 8添加-256的代码是否会在numpy 2中失败?

如何使用matplotlib在Python中使用规范化数据和原始t测试值创建组合热图?

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

如何在Python中将returns.context. DeliverresContext与Deliverc函数一起使用?

删除任何仅包含字符(或不包含其他数字值的邮政编码)的观察

在Python Attrs包中,如何在field_Transformer函数中添加字段?

如何记录脚本输出

更改键盘按钮进入'

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

提取相关行的最快方法—pandas

如何在turtle中不使用write()来绘制填充字母(例如OEG)

使用Python和文件进行模糊输出

如何按row_id/row_number过滤数据帧

Python pint将1/华氏度转换为1/摄氏度°°

pandas fill和bfill基于另一列中的条件

查看pandas字符列是否在字符串列中