使用 Conda 环境、VS Code 终端和 Python 扩展 (v2023.16) 时,“.”插入到 PATH 环境变量中

2024-02-11

我正在尝试将 conda、python 与 VS Code 一起使用。我在集成终端中使用的 shell 是 PowerShell。

在 Windows 终端中一切正常,但在我重新启动 vscode 终端后,每个 conda 命令在 vscode 终端上都不起作用(激活和停用除外)。


  1. conda 命令在首次激活时有效首次激活 https://i.stack.imgur.com/mQFfM.png

  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:\System32”)

禁用 Python 扩展的激活环境选项可以防止错误,但它也会禁用 conda env 自动激活。

另外,我发现了那个点“.”停用 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;.

这是一个错误:名为“.C”的驱动器不存在 #22047 https://github.com/microsoft/vscode-python/issues/22047.

修复已于确保PATH在前置之前以分隔符结尾 #22046 https://github.com/microsoft/vscode-python/pull/22046 in Python扩展的预发布通道 https://user-images.githubusercontent.com/13199757/161632245-bc896035-c367-42f1-a13a-6ba809870200.png。如果您切换到预发布通道并重新加载 VS Code,但仍然遇到此问题,维护人员已提供更多说明 https://github.com/microsoft/vscode-python/issues/22073#issuecomment-1736282749帮助他们解决问题。

另一个(更糟糕的)解决方案(解决方法):一位用户 kwikwag 找到了一种临时解决方法 https://github.com/microsoft/vscode-python/issues/22073#issuecomment-1734206325 to put $env:Path = $env:Path.replace('.c','.;c')在他们的profile.ps1 file.

该错误与 Python 扩展使用 VS Code 的 shell 集成相关功能和 API(例如EnvironmentVariableMutator https://code.visualstudio.com/api/references/vscode-api#EnvironmentVariableMutator。最近对此进行了更改,您可以在以下位置阅读:https://code.visualstudio.com/updates/v1_82#_terminal-activation-using-environment-variables https://code.visualstudio.com/updates/v1_82#_terminal-activation-using-environment-variables。请注意,您可以通过输入来退出该实验"python.experiments.optOutFrom": ["pythonTerminalEnvVarActivation"]在你的设置.json 文件 https://code.visualstudio.com/docs/getstarted/settings#_settingsjson。另请参阅相关内容python.terminal.activateEnvInCurrentTerminal and python.terminal.activateEnvironment设置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Conda 环境、VS Code 终端和 Python 扩展 (v2023.16) 时,“.”插入到 PATH 环境变量中 的相关文章

随机推荐

  • 如何在 Snakemake 表格配置中使用列表,用于描述生物信息学管道的测序单元

    如何在 Snakemake 表格配置中使用列表 我使用 Snakemake Tabular 与 BWA mem 映射 配置来描述我的测序单元 在单独的行上测序的文库 在分析的下一阶段 我必须合并测序单元 映射的 bed 文件 并获取合并的
  • 使用 PORT=XXXX 启动节点永久脚本

    当通过特定端口运行节点命令时 我会这样启动应用程序 PORT 1234 node app js 我如何将端口传递给forever命令 无论我做什么 似乎都不想工作 我试过了 将端口作为参数传递 forever start app js 12
  • 循环浏览用户指定的根目录中的子文件夹和文件[重复]

    这个问题在这里已经有答案了 我通过各个文件的循环脚本工作正常 但我现在还需要它来查找多个目录 我被困住了 事情发生的顺序 提示用户选择他们需要的根目录 我需要脚本来查找该根目录中的任何文件夹 如果脚本找到一个 它将打开第一个 所有文件夹 因
  • 如何在Java中使用Graphics2D旋转文本?

    我想使用 Graphics2D 旋转 JPanel 上的文本 我的代码是这样的 double paso d width numeroBarras double alto datos i valor Font fBarras new Font
  • 在 MATLAB 中实现显式欧拉方法(适用于 ODE)

    我到处都找过了 但什么也没找到 首先 我想说我从未使用过 Mat Lab 所以我不知道我在做什么 我尝试了一些方法 但没有任何效果 显然 y 0 2 试图创建一个包含 0 个值为 2 的单位的列表 无论如何 有人可以帮助我吗 我需要在 Ma
  • 我们可以在透明窗口上应用着色器吗

    I am looking to apply a particular shader to a transparent window for example on a live desktop I want to create a trans
  • Perl XML::LibXML $node->findnodes($xpath) 找到它不应该找到的节点

    这是我遇到问题的一些代码 我处理一些 XML 并在 OO 类的方法中从文档中重复的几个节点中的每个节点提取一个元素 每个节点的子树中应该只有一个这样的元素 但我的代码获取所有元素 就好像它对整个文档进行操作一样 因为我只期望获得 oine
  • SSRS 报告显示为列出的目录

    如何获取 SSRS 报告以显示网页视图 当我转到 SSRS 报告页面时 它没有显示网页视图 它显示数据源 数据集和报告文件夹的列表 进入报告文件夹后 我可以通过单击它们来调用报告 没有任何问题 https docs google com f
  • 以分离模式启动的 docker 容器在进程执行后停止

    我使用以下命令以分离模式创建 docker 容器 docker run OPTIONS name my image d container name bin bash c opt init sh 所以我需要在创建的容器中执行 opt ini
  • 排序时保留 JSON 数组

    我有两个来自外部网站的 JSON 数组 我对两个数组进行排序和合并 对其进行解码 然后按 ID 从最高到最低对它们进行排序 目前 当单击 按字母顺序 选项时 sort alphabetical添加到 URL 的末尾 当页面完成重新加载时 J
  • 忽略 $Id 行的合并工具

    我需要合并一个分叉项目 不幸的是 CVS Id 行不同 因此我尝试的合并工具报告所有文件都不同 其中 95 只有这一行不同 是否有一个合并工具可以配置为忽略基于模式的行比较结果 编辑 我发现 WinMerge 有线路过滤器 正确设置它们实际
  • supertest的expect和then有什么区别?

    使用时supertest为了在 JavaScript 中测试异步 HTTP 请求 这两个片段有什么区别 其中一项是正确的 另一项是错误的吗 request http localhost 8080 get api people expect
  • 在 Fluent Migrator 中回滚到以前的版本

    我正在尝试使用流畅的迁移器来进行我的项目的迁移 但由于缺乏文档 我正在努力弄清楚如何回滚并拥有Down方法调用了我的迁移类 我使用初始版本 1 类设置了数据库 Migration 1 public class Baseline Migrat
  • Python:如何保存16位通道的图像(例如48 RGB)?

    我正在科学地处理显微镜图像 其中 3 个 RGB 通道均编码为 uint16 0 65536 目前 我使用 OpenCV2 和 NumPy 来处理图像 并使用标志 cv2 IMREAD UNCHANGED 读取一切正常 我可以对图像做一些工
  • 无法通过任何方式将 .h5 模型转换为 ONNX 进行推理

    我在 h5 中构建了一个自定义模型Matterport Mask RCNN 实现 https github com matterport Mask RCNN 我成功地保存了完整的模型 而不是单独使用的权重model keras model
  • 如何增加nest.js应用程序中的内存堆?如何在 cli 中使用 --max-old-space-size ?

    我正在使用 Nest js 框架开发 Node js 项目 但出现错误 JavaScript 堆内存不足 我的问题是如何为我的应用程序分配更多内存 我还发现有些人说我应该使用 max old space size 分配内存 所以我尝试将此选
  • 如何在实际需要 C# 静态类之前对其进行初始化?

    我有一个带有静态构造函数的静态类 需要一些时间 10 15 秒 来执行并完全初始化该类 为了提高性能 我决定让这个静态类显式初始化 而不是在第一次需要它时初始化 以便在实际需要使用时它就可以使用了 我的第一个想法是创建一个Initializ
  • 如何检查位图的颜色深度?

    我正在开发一个打印图像文件文件夹的应用程序 包括 JPEG 和 TIFF TIFF 图像通常是黑白 1bpp 加载图像后 我想确定图像是否是Color or B W or 灰度这样我就可以将图像发送到正确的打印机 彩色打印机或黑白打印机 我
  • 如何在 Jenkins 中创建用户并将其添加到组中进行身份验证?

    我选择使用 Jenkins 自己的用户数据库 安全领域进行用户登录 因为我无法在公司中使用 LDAP 当您决定将主机名或端口号更改为其他名称时 Google 的 OpenID 就会出现问题 为了安全起见 我使用 基于项目的矩阵授权策略 模式
  • 使用 Conda 环境、VS Code 终端和 Python 扩展 (v2023.16) 时,“.”插入到 PATH 环境变量中

    我正在尝试将 conda python 与 VS Code 一起使用 我在集成终端中使用的 shell 是 PowerShell 在 Windows 终端中一切正常 但在我重新启动 vscode 终端后 每个 conda 命令在 vscod