如何从 Visual Studio Code 使用 Anaconda Python?

问题描述 投票:0回答:1

当我从 Anaconda 启动 Visual Studio Code 时,它可以毫无问题地运行我的 python 代码。当我从 Windows 开始菜单启动 VSC 时,它没有启动。

目前我所知道的:

  • 在 Anaconda 的用户首选项(“首选项:打开用户设置 (JSON)”)中,路径指向与“开始”菜单中相同的 VSC 安装。 Anaconda 似乎以不同的方式启动 VSC,因为当我通过“开始”菜单或通过 Anaconda 启动 VSC 时,VSC 使用不同的主题,因此 VS Code 的用户首选项有两个不同的文件。一个位于

    C:\Users\me\AppData\Roaming\Code\User\settings.json
    ,另一个位于
    C:\Users\me\AppData\Roaming\.anaconda\navigator\Code\User\settings.json

  • 在“首选项:打开用户设置(JSON)”中,我将

    python.condaPath
    python.defaultInterpreterPath
    python.pythonPath
    设置为相同的值,并且其他设置也设置为相同的值(
    workbench.colorTheme
    除外)对于这两种情况。

  • 当我运行 python 代码时,两个实例都使用 PowerShell,但是通过 Anaconda 启动可以识别

    conda
    命令,而通过“开始”菜单启动,找不到
    conda

  • 我发现了 Anaconda 定义的一些其他环境变量(在 PowerShell 中运行

    Get-ChildItem Env:
    )。 'UWO' 是所选 anaconda 环境的名称:

PROMPT                         (UWO) (UWO) $P$G
CONDA_DEFAULT_ENV              UWO
CONDA_EXE                      C:\Users\me\AppData\Local\anaconda3\Scripts\conda.exe
CONDA_PREFIX                   C:\Users\me\AppData\Local\anaconda3\envs\UWO
CONDA_PREFIX_2                 C:\Users\me\AppData\Local\anaconda3
CONDA_PREFIX_3                 C:\Users\me\AppData\Local\anaconda3\envs\UWO
CONDA_PROMPT_MODIFIER          (UWO)
CONDA_PYTHON_EXE               C:\Users\me\AppData\Local\anaconda3\python.exe
CONDA_ROOT                     C:\Users\me\AppData\Local\anaconda3
CONDA_SHLVL                    3
  • 此外,路径中还有更多内容(在 PowerShell 中运行
    (Get-ChildItem Env:\Path).Value
    ):
C:\Users\me\AppData\Local\anaconda3\envs\UWO;
C:\Users\me\AppData\Local\anaconda3\envs\UWO\Library\mingw-w64\bin;
C:\Users\me\AppData\Local\anaconda3\envs\UWO\Library\usr\bin;
C:\Users\me\AppData\Local\anaconda3\envs\UWO\Library\bin;
C:\Users\me\AppData\Local\anaconda3\envs\UWO\Scripts;
C:\Users\me\AppData\Local\anaconda3\envs\UWO\bin;
C:\Users\me\AppData\Local\anaconda3\condabin;
C:\Users\me\AppData\Local\anaconda3;
C:\Users\me\AppData\Local\anaconda3\Library\mingw-w64\bin;
C:\Users\me\AppData\Local\anaconda3\Library\usr\bin;
C:\Users\me\AppData\Local\anaconda3\Library\bin;
C:\Users\me\AppData\Local\anaconda3\Scripts;
C:\Users\me\AppData\Local\anaconda3\bin;
C:\Users\me\AppData\Local\anaconda3\condabin;

我尝试了什么?

有多种建议可以解决类似/相同的问题,但我发现没有一个解决了我的问题,也没有解释发生了什么。 此建议已接近:在 Anaconda 提示符中运行

conda init powershell
,并通过从管理员 PowerShell 运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
来设置适当的权限。这样,从开始菜单启动VSC时发现
conda
,但运行python时环境没有改变:PowerShell总是提示(base),
conda info --envs
报告它正在使用'base'环境,并使用
import os; print(os.path.basename(os.environ.get('CONDA_PREFIX', None)))来自 python 的 
还揭示了通过“开始”菜单启动的 VSC 的(错误)“基本”环境以及从 Anaconda 启动时预期的“UWO”。

使用此命令,添加这些环境变量:

CONDA_DEFAULT_ENV              base
CONDA_EXE                      C:\Users\pern\AppData\Local\anaconda3\Scripts\conda.exe
CONDA_PREFIX                   C:\Users\pern\AppData\Local\anaconda3
CONDA_PROMPT_MODIFIER          (base)
CONDA_PYTHON_EXE               C:\Users\pern\AppData\Local\anaconda3\python.exe
CONDA_SHLVL                    1

除了 SLVL 值外,两个 VSC 实例中的环境变量相同。据我了解,SLVL 值为 1 应该没问题,因为一次只能有一个环境处于活动状态。在工作区的

.env
文件中将其设置为 3 没有帮助。

路径也已修改为包含

C:\Users\me\AppData\Local\anaconda3;
C:\Users\me\AppData\Local\anaconda3\Library\mingw-w64\bin;
C:\Users\me\AppData\Local\anaconda3\Library\usr\bin;
C:\Users\me\AppData\Local\anaconda3\Library\bin;
C:\Users\me\AppData\Local\anaconda3\Scripts;
C:\Users\me\AppData\Local\anaconda3\bin;
C:\Users\me\AppData\Local\anaconda3\condabin;

对我来说,路径设置似乎正确,因为当在 Anaconda 中添加新环境时,从 Anaconda 开始的 VSC 中的路径不包括

\envs\NewEnv\
-parts。

我后来的自我注意:要恢复更改,请发出

Set-ExecutionPolicy Restricted -Scope CurrentUser
并删除
Documents\WindowsPowerShell\profile.ps1

如何正确设置VSC?

我从来没有读到过,当通过 Anaconda 启动时,Visual Studio Code 只能与 Anaconda 一起使用,所以我的设置似乎有问题。目前,我看到的唯一解决方法是从 Anaconda 启动 VSC,这不太方便。

有关如何设置 Visual Studio Code 以便从“开始”菜单启动时与 Anaconda 正常工作有什么建议吗?

visual-studio-code anaconda
1个回答
0
投票

我也遇到了同样的问题。能圆满解决吗?

您(最初)如何通过 Anaconda Navigator 或 Microsoft 安装包安装 VS Code?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.