如何在 venv 中使用 SublimeText?

How to use SublimeText within a venv?

我一直在按照 a tutorial 的步骤进行操作,并且 (1) 为我的项目创建了一个新目录,(2) 运行 C:\Users\JohnSmith\AppData\Local\Programs\Python\Python38\python -m venv .venv 在该目录中创建虚拟环境,(3) 运行 .venv\Scripts\activate 激活它,(4) 运行 install python -m pip install flask 应该只在这个环境下可用,(5) flask --version 确认它已安装在 (.venv) 中,这是最后一条命令的输出:

Python 3.9.0

烧瓶 1.1.2

Werkzeug 1.0.1

问题是当我尝试在我的代码中引用 flask 时 returns 以下内容:ModuleNotFoundError:没有名为 'flask'.[=12 的模块=]

我看到一些关于创建新的 构建系统 的帖子,但我不知道如何去做。还有其他人设置类似的东西吗?请不要推荐其他虚拟环境,因为我致力于遵循本教程并且 venv 是他使用的工具,它包含在 Python 3.9.

文件中的第一位代码 ..\app\__init__.py 具有以下代码,当我按 CTRL+b 时出现上述错误(第一行):

from flask import Flask

app = Flask(__name__)

from app import routes

Virtual Environment 是 python 解释器的独立和隔离安装,您已在其中安装了 flask。您的 sublime text 可能仍然是 运行ning 您原来的 python 解释器(不是虚拟环境)。所以你需要告诉 sublime 你想使用哪个解释器。如果您想快速轻松地在不同环境之间切换,最好了解构建系统。


我尝试手动编辑 python 构建,但没有成功,每次您想切换到新的 python 环境时手动更改它会很痛苦。所以我们使用构建系统。


  1. Select 工具 >> sublime text 中的新构建系统。这将打开一个新的构建系统配置文件。在该文件中删除所有内容并粘贴:
{
    "cmd": ["PATH TO YOUR DESIRED PYTHON INTERPRETER","-u", "$file"],
    "selector": "source.python",
    "file_regex": "^\s*File \"(...*?)\", line ([0-9]*)"
}
  1. 保存文件,然后 运行 使用新构建系统的程序。它将出现在工具的构建系统选项卡中。

I would highly reccomend watching this video which does a good job of explaining the whole concept.