添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Python 项目中的所有代码均在特定环境的上下文中运行。 这些环境可以是全局 Python 环境、Anaconda 环境、虚拟环境或 Conda 环境。 Visual Studio 使用 Python 环境进行调试、导入和成员完成以及语法检查。 环境用于需要特定于 Python 版本和一组已安装包的语言服务的任何任务。

在 Visual Studio 中,可以为项目创建多个环境,并根据具体的开发需求在它们之间切换。 所有新的 Python 项目最初都配置为使用默认全局环境。 可以在“解决方案资源管理器”中的“Python 环境”节点下查看项目的环境:

  • Visual Studio。 若要安装该产品,请按照 安装 Visual Studio 中的步骤操作。

  • 只能在现有环境之间切换。 如果没有默认全局环境以外的环境,请参阅以下有关使用 虚拟环境 的部分。 有关详细信息,请参阅 在 Visual Studio 中创建和管理 Python 环境

    切换当前项目环境

    在 Visual Studio 中,可以在“解决方案资源管理器”或从工具栏中使用“添加环境”功能更改 Python 项目的活动(当前)环境环境。

  • 启动“添加环境”过程:

  • 在“解决方案资源管理器”中,右键单击项目的“Python 环境”节点并选择“添加环境”。
  • 或者,在 Python 工具栏上,从“环境”下拉菜单中选择“添加环境”。
  • 使用虚拟环境

    虚拟环境是特定 Python 解释器和一组特定库的独特组合,它与其他全局环境以及 conda 环境不同。 虚拟环境特定于项目,但保留在项目子文件夹中。 该文件夹包含环境中已安装的库,还有一个 pyvenv.cfg 文件用于指定到文件系统中的环境 基础解释器 的路径。 (虚拟环境中没有解释器副本,只有解释器链接。)

    使用虚拟环境的一项优势是,随着项目的开发,虚拟环境始终反映出项目的确切依赖项。 此行为不同于共享全局环境,无论是否在项目中使用它们,该环境都包含任意数量的库。 从虚拟环境中,你可以轻松创建 requirements.txt 文件,此文件用于在其他开发或生产计算机上重新安装包依赖项。 有关详细信息,请参阅 使用 requirements.txt 管理所需的包

    在 Visual Studio 中打开包含 requirements.txt 文件的项目时,Visual Studio 自动显示用于重新创建虚拟环境的选项。 在未安装 Visual Studio 的计算机上,你可以使用 pip install -r requirements.txt 命令还原所需的包。

    由于虚拟环境包含到基础 Python 解释器的硬编码路径,且你可使用 requirements.txt 文件重新创建环境,因此通常省略来自源代码管理的环境子文件夹。 将虚拟环境添加到项目后,它会立即显示在“Python 环境”窗口中 。 随后,即可像激活其他任意环境一样激活它,以及管理它的包。

    创建虚拟环境

    可以按以下方式直接在 Visual Studio 中创建新的虚拟环境:

  • 启动“添加环境”过程:

  • 在“解决方案资源管理器”中,右键单击项目的“Python 环境”节点并选择“添加环境”。
  • 或者,在 Python 工具栏上,从“环境”下拉菜单中选择“添加环境”。
  • 在“添加环境”对话框中,选择“虚拟环境”选项卡:

  • 配置必填字段:

    设置为新项目的默认环境 自动设置和激活 Visual Studio 中创建的任何新项目中的环境。 此设置也可以通过“Python 环境”窗口中的“将此作为新项目的默认环境”选项获得。 使用此选项时,将虚拟环境置于特定项目之外的位置中。 在“Python 环境”窗口中查看 指定是否在创建新环境后显示“Python 环境”窗口。 使此环境全局可用 指定虚拟环境是否应同时充当全局环境。 使用此选项时,将虚拟环境置于特定项目之外的位置中。

    Visual Studio 会在配置环境和下载任何必要的包时显示一个进度栏。

    该过程完成后,Visual Studio 会激活新的虚拟环境,并将其添加到“解决方案资源管理器”中的“Python 环境”节点。 该环境在所含项目的“Python 环境”窗口中也可用。

    按照以下步骤为项目激活现有环境:

  • 在“解决方案资源管理器”中,展开项目的“Python 环境”节点,并找到要使用的环境。

  • 右键单击该环境,然后选择 “激活环境”。

    如果 Visual Studio 在该环境中检测到 requirements.txt 文件,它会询问是否安装这些包。

    Visual Studio 激活该环境后,活动环境的名称以粗体显示在“解决方案资源管理器”中:

    在 Visual Studio 中,从 Python 包索引 (PyPI) 下载大多数环境的包及依赖项,还可以在其中搜索可用的包。 Visual Studio 的状态栏和输出窗口显示有关安装的信息。

  • 若要卸载(移除)包,请在列表中找到该包,然后选择右侧的 x 图标。

  • 若要查找某个包或其他包的更新版本,请输入搜索字词(通常是包名称):

    Visual Studio 会显示匹配的包。 在此示例中,搜索与字词 blinker 匹配的包。

    Visual Studio 会将匹配结果的列表显示为活动命令链接。

  • 第一个命令会将包刷新到最新版本和当前依赖项。 该命令类似于 Run command: pip install <package-name> 。 如果在搜索字词后选择 Enter ,Visual Studio 会自动运行第一个命令。

  • 其他链接用于安装特定包、版本或依赖项的命令,例如 Install blinker-async (0.0.3) 。 若要运行其中一个命令,请选择该链接。

  • 请记住,包的显示条目在最新版本或可用性方面可能不准确。 为包显示的安装和卸载信息可能不可靠或不可用。

  • Visual Studio 使用 pip 程序包管理器(如果可用),并且需要时会下载并安装它。 Visual Studio 还可以使用 easy_install 程序包管理器。 也会显示使用 pip easy_install 命令从命令行安装的包。

  • 当包中包含用于 *.pyd 文件中本机组件的源代码时,pip 无法安装包,这种情况很常见。 如果没有安装要求的 Visual Studio 版本,pip 无法编译这些组件。 在此情况下显示的错误消息是:“错误:找不到 vcvarsall.bat”。 easy_install 命令通常可下载预编译的二进制文件,且可通过 https://python.en.uptodown.com/windows/versions 下载适合旧版 Python 的编译器。 有关详细信息,请参阅 Python 工具团队博客上的 How to deal with the pain of "unable to find vcvarsallbat" (如何处理“找不到 vcvarsallbat”问题)。

  • Conda 包管理器通常将 https://repo.continuum.io/pkgs/ 用作默认通道,但也可以使用其他通道。 有关详细信息,请参阅 管理通道 (docs.conda.io)。

  • Visual Studio 目前不支持使用 conda 命令将包安装到 conda 环境中。 请从命令行使用 conda 命令。

  • 在 Visual Studio 中管理 Python 环境
  • 对依赖项使用 requirements.txt
  • “Python 环境”窗口参考
  •