注意:如果您希望在Visual Studio Code中开始使用Python,请参阅教程。本文仅关注设置Python解释器/环境的各个方面。

Python中的“环境”是Python程序运行的上下文。环境由解释器和任意数量的已安装包组成。由于许多程序是专门为某个Python解释器编写的,并且使用了一组库,因此开发人员通常会为各个程序创建和管理环境。

在VS Code中使用Python时,可以使用Python从可用环境中进行选择:选择解释器命令。然后,Python扩展将所选环境用于IntelliSense,自动完成,linting,格式化以及任何其他与语言相关的功能。(但是,环境不用于调试;请参阅选择调试环境。)

使用Python时,所选环境也会自动激活:在终端和Python中运行Python文件:创建终端命令。使用命令pip install matplotlib安装(或卸载)终端中的软件包,例如在该终端中处于活动状态的任何环境中安装(或卸载)软件包。

注意:默认情况下,Python扩展会查找并使用它在系统路径中找到的第一个Python解释器。如果找不到解释器,则会发出警告。在macOS上,如果您使用的是OS安装的Python解释器,则扩展也会发出警告,因为您通常希望使用直接安装的解释器。在任何一种情况下,您都可以通过在用户设置中进行设置python.disableInstallationCheck来禁用这些警告true

全局和虚拟环境

默认情况下,您安装的任何Python解释器都在其自己的“全局”环境中运行,该环境并非特定于任何一个程序。例如,如果您只是在新的命令提示符下运行python(Windows)或python3(Mac / Linux),那么您将在该解释器的全局环境中运行。因此,您安装或卸载的任何程序包都会影响全局环境以及您在该上下文中运行的所有程序。

虽然在全球环境中工作是一种简单的入门方式,但随着时间的推移,随着时间的推移,您将为不同的项目安装许多不同的软件包。这种混乱使得很难根据已知版本的特定软件包对应用程序进行彻底测试,这正是您在构建服务器或Web服务器上设置的环境。

因此,开发人员通常会为任何给定项目创建虚拟环境。虚拟环境是项目中的子文件夹,其中包含特定解释器的副本。激活虚拟环境时,您安装的任何软件包仅安装在该环境的子文件夹中。然后,当您在该环境中运行Python程序时,您知道它仅针对那些特定的包运行。

提示:conda环境是使用conda包管理器设置的虚拟环境。

要创建虚拟环境,请使用以下命令,其中“env”是环境文件夹的名称:

```bash
# Mac/Linux
# You may need to run sudo apt-get install python3-venv first
python3 -m venv env # Windows
py -3 -m venv env
```

下一节将介绍如何选择环境,包括虚拟环境。有关在项目中使用虚拟环境的示例,请参阅Flask教程

提示:当您准备将应用程序部署到其他计算机时,可以requirements.txt使用该命令创建文件pip freeze > requirements.txtpip3在Mac / Linux上)。需求文件描述了您在虚拟环境中安装的软件包。只有这个文件,您或其他开发人员可以使用pip install -r requirements.txt(或者再次pip3在Mac / Linux上)恢复这些包。通过使用需求文件,您无需将虚拟环境本身提交给源代码控制。

选择一个环境

VS Code使您可以轻松选择和激活环境。切换环境可帮助您根据需要使用不同的解释器测试项目的不同部分。

要选择特定的解释器,请从命令选项板(⇧⌘P)调用Python:Select Interpreter命令。

此命令自动查找并显示可用的Python解释器,conda环境和虚拟环境的列表。(请参阅后面部分中扩展名查找环境的位置。)例如,下图显示了几个Anaconda和CPython安装以及一个conda环境:

注意:在Windows上,VS Code可能需要一点时间来检测可用的conda环境。在此过程中,您可能会在环境路径之前看到“(缓存)”。标签表示VS Code目前正在处理该环境的缓存信息。

从列表中选择解释器会相应地配置您的工作区设置,特别是添加一个条目python.pythonPath以及解释器的路径。但是,此设置不会影响调试。请参阅选择调试环境

状态栏显示当前的解释器。

状态栏还反映何时未选择解释器。

在任何一种情况下,选择状态栏的此区域都会显示可用解释器的列表。

激活终端中的环境

使用Python之后:选择Interpreter,右键单击文件并选择Python:在终端中运行Python文件时应用该解释器。您还可以使用Python:创建终端来打开激活该环境的终端。(但是,从激活某个Python环境的shell启动VS Code不会在默认终端中自动激活该环境。在VS Code运行后使用Python:Create Terminal命令。)

您对终端内的激活环境所做的任何更改都是持久的。例如,conda install <package>在启用了conda环境的终端中使用将包永久地安装到该环境中。同样,pip install在激活虚拟环境的终端中使用会将程序包添加到该环境中。

要避免在使用这些终端命令时激活虚拟环境和conda环境,请将python.terminal.activateEnvironment设置更改为false

选择调试环境

虽然选择不同的环境会更改python.pythonPathWorkspace settings.json文件中的值,但它不会影响用户 settings.json文件,默认情况下该用户文件用于调试。您还可以使用文件pythonPath中的调试器配置指定用于调试的解释器launch.json。请参阅调试

扩展名寻找环境的位置

扩展程序会自动在以下位置查找解释程序:

  • 标准路径,例如/usr/local/bin/usr/sbin/sbinc:\\python27c:\\python36,等。
  • 虚拟环境直接位于工作空间(项目)文件夹下。
  • 位于由python.venvPath设置标识的文件夹中的虚拟环境(请参阅常规设置)。该扩展在第一级子文件夹中查找虚拟环境venvPath
  • pyenv安装的口译
  • 一个pipenv的工作文件夹的环境。如果找到一个,那么没有其他口译员被搜索或列出,因为pipenv希望管理环境的所有方面。
  • 包含Python解释器的Conda环境。VS Code不显示不包含解释器的conda环境。
  • 安装在口译.direnv文件夹direnv工作区(项目)文件夹下。

如果Visual Studio Code未自动定位,您也可以手动指定解释器

提示:如果在VS Code运行时创建新的conda环境,请使用“ 重新加载窗口”命令刷新环境列表。

扩展还会加载由设置标识的环境变量定义文件python.envFile。此设置的默认值为${workspaceFolder}/.env

使用PYTHONPATH变量

PYTHONPATH环境变量可以包含在环境变量定义文件中,指定Python应该在哪里查找模块。PYTHONPATH的值可以包含由os.pathsep(Windows上的分号,Linux / MacOS上的冒号)分隔的多个路径值。忽略无效路径。

在VS Code中,PYTHONPATH会影响调试,linting,IntelliSense,单元测试以及依赖于Python解析模块的任何其他操作。例如,假设您在src文件夹中有源代码并在文件夹中进行测试tests。但是,在运行测试时,src除非您对相对路径进行硬编码,否则它们通常无法访问模块。要解决此问题,请将路径添加src到PYTHONPATH。

有关更多信息,包括引用ZIP文件,请参阅PYTHONPATH(docs.python.org)。

手动指定解释器

如果VS Code未自动找到您要使用的解释器,则可以在“用户设置” settings.json文件中手动设置其路径:

  1. 选择文件 > 首选项 > 设置命令(⌘, )打开你的用户设置

  2. python.pythonPath使用Python可执行文件的完整路径创建或修改条目:

    例如:

    • 视窗:

      "python.pythonPath": "c:/python36/python.exe"
    • 的MacOS / Linux的:

      "python.pythonPath": "/home/python36/python"
  3. 您还可以使用python.pythonPath指向虚拟环境,例如:

    视窗:

    {
    "python.pythonPath": "c:/dev/ala/venv/Scripts/python.exe"
    }

    的MacOS / Linux的:

    {
    "python.pythonPath": "/home/abc/dev/ala/venv/bin/python"
    }

解释器路径中的环境变量

可以使用语法在路径设置中使用系统环境变量${env:VARIABLE}。例如:

{
"python.pythonPath": "${env:PYTHON_INSTALL_LOC}"
}

通过使用环境变量,您可以轻松地在路径不同的操作系统之间传输项目。只需确保首先在操作系统上设置环境变量。

环境变量定义文件

环境变量定义文件是一个简单的文本文件,包含形式为的键值对environment_variable=value#用于标记注释。不支持多行值。

默认情况下,Python扩展加载.env当前工作空间文件夹中指定的文件,由python.envFile设置的默认值标识(请参阅常规设置)。您可以随时更改python.envFile设置以使用其他定义文件。

调试配置还包含一个envFile属性,该属性也默认为.env当前工作空间中的文件(请参阅调试 - 标准配置和选项)。此属性允许您轻松设置变量以进行调试,以替换默认.env文件中使用的变量。

例如,在开发Web应用程序时,您可能希望在开发和生产服务器之间轻松切换。您可以为每个URL使用单独的定义文件,而不是直接将不同的URL和其他设置编码到应用程序中。例如:

dev.env文件

# dev.env - development configuration

# API endpoint
MYPROJECT_APIENDPOINT=https://my.domain.com/api/dev/ # Variables for the database
MYPROJECT_DBURL=https://my.domain.com/db/dev
MYPROJECT_DBUSER=devadmin
MYPROJECT_DBPASSWORD=!dfka**213=

prod.env文件

# prod.env - production configuration

# API endpoint
MYPROJECT_APIENDPOINT=https://my.domain.com/api/ # Variables for the database
MYPROJECT_DBURL=https://my.domain.com/db/
MYPROJECT_DBUSER=coreuser
MYPROJECT_DBPASSWORD=kKKfa98*11@

然后,您可以将设置python.envFile设置为${workspaceFolder}/prod.env,然后将envFile调试配置中的属性设置为${workspaceFolder}/dev.env

Conda环境

conda环境是使用conda包管理器管理的Python环境(请参阅conda 入门(conda.io))。Conda非常适合创建具有相互依赖的依赖关系以及二进制包的环境。与作用于项目的虚拟环境不同,conda环境可在任何给定计算机上全局使用。这种可用性使得配置几个不同的conda环境变得容易,然后为任何给定项目选择合适的环境。

如前所述,如果环境包含Python解释器,Visual Studio会自动检测现有的conda环境。

例如,以下命令创建一个没有解释器的conda环境,因此VS Code不会在可用解释器列表中显示它:

conda create --name env-00

相反,以下命令使用Python 3.4解释器和几个库创建一个conda环境。因为环境包含一个解释器(您可以在envs/env-01此命令创建的Anaconda 文件夹中看到),VS Code将其包含在其列表中:

conda create -n env-01 python=3.4 scipy=0.15.0 astroid babel

再次,在创建新的conda环境后,在VS Code中运行“ 重新加载窗口”命令,使其显示在解释器列表中。

有关conda 命令行的更多信息,请参阅Conda环境(conda.io)。

注意:虽然VS Code的Python扩展目前没有与conda environment.yml文件直接集成,但VS Code本身是一个很棒的YAML编辑器。

下一步

  • 编辑代码 - 了解Python的自动完成,IntelliSense,格式化和重构。
  • 调试 - 学习本地和远程调试Python。
  • 单元测试 - 配置单元测试环境并发现,运行和调试测试。
  • 设置参考 - 探索VS Code中与Python相关的所有设置。

常用软件开发学习资料收藏:

1.经典编程电子书收藏

2.C&C++编程学习资料收藏

3.算法及数据结构(有关c,c++,java)

4.Java开发学习资料收藏

5.Android开发学习资料收藏

6.Python开发学习资料收藏

7.大数据,机器学习,人工智能资料收藏

8.Docker资料收藏

在vscode成功配置Python环境的更多相关文章

  1. Win10安装VSCode并配置Python环境 完整版超详细简单【原创】

    我们分为三个步骤进行: 一.下载VSCode 二.配置Python环境 三.测试Python 一.下载VSCode 1.打开国内镜像vscode下载地址,即可自动下载:https://vscode.c ...

  2. 在vscode中配置python环境

    1.安装vscode和python3.7(安装路径在:E:\Python\Python37): 2.打开vscode,在左下角点击设置图标选择setting,搜索python path,在该路径下选择 ...

  3. VsCode中编写python环境配置

    1. VsCode中编写python环境配置 1.1. 前言 有过开发经验都知道idea一系列的软件虽然功能比较多,但比较容易卡,电脑不好还真容易上火,这里我想要入门python,还是选了款vscod ...

  4. VS Code配置Python环境

    Visual Studio Code配置Python环境 目录 Visual Studio Code配置Python环境 1.安装Python环境 2.安装VS Code 2.1 下载 2.2 配置中 ...

  5. 4.8 Sublime Text3 中配置 Python环境 --之下Sublime配置Python环境

    返回总目录 目录: 1.没有配置之前 2.安装Package Control插件 3.安装其他库: 4.配置其他操作: (一)没有配置之前: 我们试着运行以下,会效果怎么样? 1.首先选择Python ...

  6. 4.7 Sublime Text3 中配置 Python环境 --之上安装Sublime 3

    返回总目录 目录: 1.展示效果: 2.缺优分析: 3.下载Sublime Text3 (一)展示效果: 1.能够交互式编写Python代码: 2.可以编写文件式Python代码: 3.能够自动补齐代 ...

  7. linux下配置python环境 django创建helloworld项目

    linux下配置python环境 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstal ...

  8. VS Code设置中文和配置Python环境

    前言: Visual Studio Code(以下简称VSCode)是一个轻量且强大的代码编辑器,支持Windows,OS X和Linux.内置JavaScript.TypeScript和Node.j ...

  9. Pop!_OS配置Python环境

    Pop!_OS配置Python环境 #0x0 安装vscode #0x1 配置vscode #0x0 安装vscode 见vscode安装 #0x1 配置vscode 安装Python插件 安装pyl ...

随机推荐

  1. 解决Win8.1 IE11兼容性问题的方法

    装了64位win8.1企业版,IE11出现了一些兼容性问题,如个别网银网页兼容问题,还有office.迅雷.adobe reader.旋风等等插件不兼容不能加载的问题. 折腾了一天总算全部解决了,主要 ...

  2. 在Kubernetes集群中安装Helm及证书认证

    安装Kubernetes 测试环境使用kubeadm安装kubernetes v1.6.3版本, 安装过程略过. 为Helm创建客户端认证 客户端认证是为了能够使用helm命令行调用Helm的服务端T ...

  3. 收到offer!

    今天收到了自己中意的offer,公司在上海,这也意味着自己毕业后的第一份工作也要结束了. 要说再见了,杭州,尽管相处的时间不久,也认识了一些朋友.还得向他们做声道别. 心情滋味难名,短短的一年,自己由 ...

  4. GsonWithoutObject 没有对象(脱离对象) 直接提取【转】

    GsonWithoutObject 没有对象(脱离对象) 直接提取 ... gson json GsonWithoutObject 脱离对象, 直接提取 package temp; import to ...

  5. Study 8 —— 行块元素及定位

    行&块元素display:inline;display:block;display:inline-block; 盒模型padding[内边距]padding: 上下内边距 左右内边距;padd ...

  6. numpy笔记—np.sum中keepdims作用

    A = np.random.randn(4,3) B = np.sum(A, axis = 1, keepdims = True) 我们使用(keepdims = True)来确保 A.shape 是 ...

  7. 转 -- Python: 多继承模式下 MRO(Method Resolution Order) 的计算方式关乎super

    大家可能已经知道了,在 Python 3(Python 2 的新式类)中多继承模式是使用 C3 算法来确定 MRO(Method Resolution Order) 的. 那么具体是怎么计算的呢?本文 ...

  8. 在O(n) 时间复杂度,O(1)空间复杂度内反转单链表

    在LeetCode中看到判断回文的程序:https://leetcode.com/problems/palindrome-linked-list/ 里面用单链表来存储数据,先反转前半部分的单链表,然后 ...

  9. 集大软件工程15级个人作业Week2

    集大软件工程15级个人作业Week2 快速通读教材<构建之法>,并参照提问模板,提出5个问题. 在每个问题后面,请说明哪一章节的什么内容引起了你的提问,提供一些上下文 列出一些事例或资料, ...

  10. Netty入门(2) - 核心概念

    Netty Crash Course 一个Netty程序一般开始于Bootstrap类,通过设置程序后,使用Handlers来处理特定的event和设置Netty中的事件,从而处理多个协议数据,比如实 ...