我正在try 使用带有VS代码的Conda、PYTHON.我在集成终端中使用的shell 是PowerShell.
在Windows终端上一切运行正常,但在我重新启动vscode终端后,所有的conda命令都不能在vscode终端上运行(除了激活和停用).
-
CONDA命令在第一次激活时起作用 Fist activtion个
-
重新启动后出错
(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;.