【问题标题】:VSCode / Virtual Studio Code: Unable to Load Conda Environment in VSCode TerminalVSCode / Virtual Studio Code:无法在 VSCode 终端中加载 Conda 环境
【发布时间】:2019-03-07 03:48:38
【问题描述】:

我正在尝试切换到 VScode,使用内置终端与 Anaconda 交互,并且知道 VScode 支持 Anaconda,因为它随 Anaconda 一起提供。

从文档和各种教程/视频中,我看到 conda/虚拟环境已被识别(似乎是本机的)。但我似乎无法弄清楚。

使用我想在 VScode 中打开的 python 脚本,我确保我使用了正确的解释器/环境,如下所示: ctrl+shift+p 加载命令面板 Python:选择解释器 C:...\Anaconda3\envs\p3audio\python.exe

在窗口底部,当我加载 p3audio 环境以使用 python 3.7 时,环境似乎也指向环境,这就是显示的内容('Anaconda Python 3.7.0')(顶部的 Python 在我相信顶级 anaconda 附带 3.6)

当我尝试通过终端菜单中的“运行活动文件”运行 python 文件时,它会自动加载 powershell 并将其执行到终端中:

PS C:...\Anaconda3\envs> c:...\Anaconda3\envs\Projects\p3audo_projects\my_script.py

(第二条路径为黄色)

如果我尝试从 powershell 终端手动激活 conda 环境,它无法识别它。

我可以从 anaconda 提示终端正常运行脚本。

我认为这可能是一个路径问题,但我使用的所有文档/资源都表明,如果我没有选择(打勾)在安装时添加路径,我不应该有这个问题。我检查了我的环境变量路径,上面没有 anaconda。

我想知道它是否与在终端窗口中加载的“您可以通过选择自定义按钮来更改默认终端外壳”有关。这让我相信我必须在某处手动添加 conda 终端路径。但这让我感到惊讶,因为 vscode 附带 anaconda,而我在文档中没有看到任何提及。

我显然是这方面的新手,并且多次遇到环境变量/路径问题。但我想不通。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: python powershell visual-studio-code anaconda


    【解决方案1】:

    分享在 MacOS 上对我有用的东西。

    对于最新版本的 Anaconda(在撰写本文时为 2019.10),将此行添加到您的 .bash_profile:

    export PATH="/opt/anaconda3/bin:$PATH"
    

    对于旧版本,它可能看起来像:

    export PATH="/anaconda3/bin:$PATH"
    

    希望对某人有所帮助。

    【讨论】:

      【解决方案2】:

      请在 vs 代码中使用以下设置,只要您的 conda 安装正确,它应该可以工作。另外,请根据您的环境进行修改。

      下面提到了powershell的设置

      {
      "workbench.startupEditor": "newUntitledFile",
      "editor.wordWrap": "on",
      "editor.wordWrapColumn": 100,
      "terminal.integrated.shell.windows":  "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
      "terminal.integrated.shellArgs.windows": [
          "-ExecutionPolicy", "ByPass", "-NoExit", "-Command", "&",
          "'C:\\Users\\kpache\\Anaconda3\\shell\\condabin\\conda-hook.ps1' ; conda activate 'C:\\Users\\kpache\\Anaconda3'"
          // "/K", "C:\\Users\\kpache\\Anaconda3\\Scripts\\activate.bat", "C:\\Users\\kpache\\Anaconda3"
          ],
      "terminal.external.windowsExec": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
      "workbench.colorTheme": "Default Light+"
      }
      

      【讨论】:

        【解决方案3】:

        适用于在 Mac OS 中工作的人。

        为了在 VS Code 中设置集成终端以默认使用活动的 Anaconda 环境的 Python,您需要使用以下行修改您的用户或工作区设置的“settings.json”:

        "terminal.integrated.shellArgs.osx": [],
        

        供参考:此closed issue 解决了该主题。

        【讨论】:

          【解决方案4】:

          在最近的 conda 版本 (4.6.1) 中,Conda 现在可以在 Powershell 中初始化,并且现在可以干净地集成到 VSCode 中。 I made a stackoverflow post here

          【讨论】:

            【解决方案5】:

            对于任何为此苦苦挣扎的人,我会告诉你什么对我有用。这是在尝试让 Python 在 PyCharm 和 VS Code 中运行四个小时之后。

            基本上 dldatacowboy 有答案,但是 terminal.integrated.shellArgs.windows 的参数需要重新格式化(也许只有在您使用 Windows 机器时?)。 “K”前不能有空格,退格必须是双退格。所以我的 settings.json 文件中的设置如下所示:

            "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
            "terminal.integrated.shellArgs.windows": ["/K","C:\\ProgramData\\Anaconda3\\Scripts\\activate.bat C:\\ProgramData\\Anaconda3"]
            

            确保将路径更改为跟随 dldatacowboy 时出现的任何内容,然后将反斜杠更改为双反斜杠。

            【讨论】:

            • 此链接也可能有帮助:mscodingblog.blogspot.com/2017/08/…
            • [最新的 Conda 版本 (4.6.1) ](anaconda.com/blog/developer-blog/conda-4-6-release) 现在显然支持 powershell 和“各种 shell”。但是,在更新和初始化之后,powershell 仍然无法识别命令。 . :文件 C:\Users\User\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 无法加载,因为在此系统上禁用了运行脚本。请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies。将在此处创建单独的 stackoverflow 帖子和链接。如果您有解决方案,请添加评论。
            • 我已经使用 stackpost I made here 解决了这个问题,它现在允许 vscode powershell 集成。我会考虑这篇文章的回答。
            【解决方案6】:

            好的,我想通了。 VSCode 很棒。

            1. 转到设置 (ctrl+,)

            2. 决定是否要在用户设置或工作区设置中应用此自定义终端,然后选择(位于设置搜索栏下方)

            3. 打开 settings.json(还不知道快捷键,它是位于最右侧的三点菜单,与“用户设置”和“工作区设置”选项卡位于同一行。

              李>
            4. 在默认用户设置(左侧面板)中找到“terminal.integrated.shell.windows”,您可以再次将其输入到搜索栏中找到它。

            5. 将其复制到用户设置/工作区设置(取决于您选择或现在决定选择的内容)(在右侧面板中)

            例如复制: "terminal.integrated.shell.windows": "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe",放入右边的json数组中

            1. 编辑路径以等于您的 cmd 可执行路径 例如“terminal.integrated.shell.windows”: "C:\Windows\System32\cmd.exe",
            2. 您需要创建参数,这是我感到困惑的地方: 转到 Windows 中的开始菜单,通过右键单击找到 Anaconda 提示打开文件位置,检查属性并查看目标位置路径。不要担心第一个字符串,从 cmd.exe 之后复制到末尾。将此用于“terminal.integrated.shellArgs.windows” 例如“terminal.integrated.shellArgs.windows”:[ "/K", "C:\Users\User-1\Anaconda3\Scripts\activate.bat C:\Users\User-1\Anaconda3"

            确保用逗号分隔并正确包含所有四个引号的字符串。保存关闭 vscode。加载它,你就可以开始了。

            希望这对某人有所帮助! = )

            【讨论】:

              【解决方案7】:

              您似乎被此 article 的标题误导了。

              如果您阅读article,它会说 Anaconda 附带了 Visual Studio Code。因此,如果您下载并安装 Anaconda 设置,设置会更容易。

              如果您查看上面的文章,它会在安装步骤之一中显示安装 VS Code 的选项。

              以下为下载link

              【讨论】:

              • 我使用了 Anaconda Python method you linked to 。我相信 [第二个链接中的第 8 步] (docs.anaconda.com/anaconda/install/windows) 表明我没有“将 Anaconda 添加到我的 PATH 环境变量”是正确的;但它也说“通过从开始菜单打开 Anaconda Navigator 或 Anaconda Prompt 来使用 Anaconda 软件”
              • 这是否意味着我在 Anaconda 提示符中激活我的环境,然后以某种方式(可选)从 vscode 内的 powershell 终端运行它们? Taylor 真的建议这个过程比这个视频中的更无缝:youtube.com/watch?v=6YLMWU-5H9o,这里的文档也是如此:code.visualstudio.com/docs/python/environments 有什么想法吗?感谢您抽出宝贵时间查看此内容。
              • 我认为我需要做的是转到设置,过滤设置 ID:terminal.integrated.shell.windows 然后以某种方式合并 anaconda 提示符......但不知道该怎么做。 Anaconda 提示的路径是: %windir%\System32\cmd.exe "/K" C:\Users\UserX\Anaconda3\Scripts\activate.bat C:\Users\User-1\Anaconda3 。当它不是一个简单的可执行文件时,我不知道如何添加它。有什么想法吗?
              • 请注意 Anaconda 缺乏原生 PowerShell 支持,因此 VS Code 会尽力解决此问题,但并不完美。
              猜你喜欢
              • 2021-10-02
              • 1970-01-01
              • 1970-01-01
              • 2019-04-30
              • 2021-12-18
              • 2021-09-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多