代码之家  ›  专栏  ›  技术社区  ›  Sabito Greg

VSCode终端未激活conda环境

  •  0
  • Sabito Greg  · 技术社区  · 5 年前

    我读过 this Stack Overflow post 关于类似的问题,但那里的建议似乎不起作用。我在Windows计算机上安装了Visual Studio代码,并添加了Python扩展。然后,我将项目的Python路径更改为 C:\Users\username\.conda\envs\tom\python.exe 这个 .vscode/settings.json 包含以下内容:

    {
        "python.pythonPath": "C:\\Users\\username\\.conda\\envs\\tom\\python.exe"
    }
    

    Visual Studio代码中的状态栏还显示:

    Enter image description here

    但当我这样做的时候 conda env list 即使在完成之后 conda activate tom 在终端中,我得到输出:

    # conda environments:
    #
    base                  *  C:\ProgramData\Anaconda3
    tom                      C:\Users\username\.conda\envs\tom
    

    而不是:

    # conda environments:
    #
    base                     C:\ProgramData\Anaconda3
    tom                   *  C:\Users\username\.conda\envs\tom
    

    而且,在我尝试导入时,不会导入未安装在base中的软件包 python app.py .我该怎么办?

    where python 运行,但不提供任何输出。

    而且

    import os
    import sys
    os.path.dirname(sys.executable)
    

    给予

    'C:\\Python38'
    
    1 回复  |  直到 4 年前
        1
  •  28
  •   Peter Mortensen icecrime    4 年前

    首先,打开Anaconda提示符( How to access Anaconda command prompt in Windows 10 (64-bit) ),和类型:

    conda activate tom
    

    激活虚拟环境。

    然后,要在此活动环境中打开Visual Studio代码,请键入

    code
    

    它应该会起作用。

        2
  •  23
  •   Charudatta Manwatkar    3 年前

    我很长一段时间都面临着同样的问题,但似乎什么都不管用。突然,VS Code在通知提示中向我建议了以下内容:

    我们注意到您正在使用conda环境。如果您正在体验 集成终端中的此环境问题,我们建议 让Python扩展改变 用户设置中的“terminal.integrated.inheritEnv”为false。

    我点击了 yes 在它上面工作。您也可以在设置中手动设置。json如下:

    1. Shift + Command + P 打开命令选项板。
    2. 键入设置。json并选择“首选项:打开设置(json)”
    3. 在JSON文件中,添加键值对 "terminal.integrated.inheritEnv": false
    4. 保存JSON文件
        3
  •  15
  •   Sabito Greg    4 年前
    1. 在Vscode命中 ctrl键 + ` 打开终端。
    2. 然后在终端类型内: conda init
    3. 关闭并重新打开终端。
    4. 正常使用Conda。
        4
  •  11
  •   user2281726    3 年前

    enter image description here

    通过将终端从powershell切换到cmd,我得到了帮助

        5
  •  1
  •   Peter C    4 年前

    这似乎是因为Anaconda安装建议不要将windows路径更改为引用Anaconda,因为它可能与其他安装冲突,因此修改路径变量时我没有遇到任何问题。看起来vs代码(或者最有可能是Python扩展)本身仍然没有正确激活anaconda。

        6
  •  1
  •   Sabito Greg    3 年前

    在vs代码中激活anaconda虚拟环境

    1. 转到菜单栏并单击Terminal。
    2. 类型: conda init
    3. 关闭此终端并打开一个新终端
    4. 在“新建终端”窗口中,键入 conda info --envs
      (您的conda虚拟环境应该在列表中)
    5. 类型 conda activate name_of_venv
        7
  •  1
  •   Sabito Greg    3 年前

    可以在VSCode终端中激活虚拟环境,但不会切换Python版本。

    解决方案是在VSCode中选择–bash–bash,一切正常。

        8
  •  1
  •   Yeison Aldana    3 年前
    1. 类型:conda init
    2. 切换到cmd终端,因为shell终端有问题
    3. 享受

    在vscode中对我有用

        9
  •  0
  •   questionto42    3 年前

    如果 conda init 失败,这可能不仅仅是搜索路径中缺少conda的问题。就我而言,这是因为PowerShell无权加载 profile.ps1 看见 The term 'conda' is not recognized as the name of a cmdlet

    在这种情况下,如果尚未安装,请安装 PowerShell 7 平行于 PowerShell 5 并填充 C:\Users\USER\Documents\PowerShell\profile.ps1 使用:

    #region conda initialize
    # !! Contents within this block are managed by 'conda init' !!
    (& "C:\Users\USER\anaconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Invoke-Expression
    #endregion
    

    enter image description here

    然后将新的PowerShell 7终端添加到vscode,请参阅 How to add anaconda powershell to vscode?

    终端菜单:

    enter image description here

    康达初始化 您在vscode的状态栏中看到的选定Python解释器环境的激活将在您打开时自动运行 PowerShell 7

        10
  •  0
  •   Gamrix    3 年前

    PythonPath 现在,默认Python插件不再使用(从2021年起)。相反,您可以使用以下命令添加解释器路径:

    1. 在终端中,运行以下命令以获取环境的路径:
    conda activate <name of your env> && which python
    
    1. 然后设置VSCode JSON设置(用户或工作区):
    {
        "python.defaultInterpreterPath": "<Path to your env>",
    }
    
    1. 完全重新启动VSCode以在终端中查看您的env,因为VSCode有时会缓存终端窗口。

    (所有这些都假设vscode中没有其他混乱的设置。如果有,请查看此问题的其他答案)。

        11
  •  0
  •   Sabito Greg    3 年前

    我已经尝试了大多数解决这个问题的方法。然而,这些都不起作用。遵循以下步骤: Sabito 錆兎 mentioned in their answer ,我终于解决了。

    解决方案1:

    1. ctrl键 + 转移 + P

    2. 类型 terminal: select default profile

    3. 选择 命令提示符

      Image for 'choose Command Prompt'

    4. 打开一个新的终端,您可以使用cmd来执行这些操作。

    更改默认终端的另一种方法是(如果忘记了命令):

    1. 在终端面板的右顶部, 点击 + -“” (发布配置文件)
    2. 选择默认配置文件
    3. 选择您想要的 这样,您还可以打开配置终端设置

    解决方案2:

    1. 做什么 萨比托 said in their answer

    2. ctrl键 + 转移 + P

    3. 类型 Python: Select Interpreter

    4. 选择您需要的conda环境。 也可以在底部面板上选择。

    5. 不必要的步骤:in vscode-settings.json ,确保如果此行存在,则参数为true:

      "python.terminal.activateEnvironment": true,
      

      现在,vscode将根据您的 选择,如下所示:

      CMD命令

      当我选择时 base:conda ,我打开了一个新的终端。在控制台中,它显示

      F:\GitHub\t>E:/Anaconda/Install/Scripts/activate 
      (base) F:\GitHub\t>conda activate base 
      (base) F:\GitHub\t>
      

      当我选择时 python3.8:conda 它显示

      F:\GitHub\t>E:/Anaconda/Install/Scripts/activate 
      (base) F:\GitHub\t>conda activate python3.8 
      (python3.8) F:\GitHub\t>
      

      PowerShell

      当我选择时 蟒蛇3。8: 康达 .它显示

      (base) PS F:\GitHub\t> conda activate python3.8 
      (python3.8) PS F:\GitHub\t>
      

      当我选择时 底座:康达 ,它显示

      (base) PS F:\GitHub\t> conda activate base  
      (base) PS  F:\GitHub\t>