如何在 venv 中使用 SublimeText?

Ale*_*ris 3 python sublimetext3 python-venv

我一直在遵循教程的步骤,并且(1)为我的项目创建了一个新目录,(2)运行C:\Users\JohnSmith\AppData\Local\Programs\Python\Python38\python -m venv .venv该目录来创建虚拟环境,(3) 运行.venv\Scripts\activate来激活它,(4) 运行来安装python -m pip installflask,它应该仅在此环境中可用,(5) flask --version确认它已安装在 (.venv) 中,这是最后一个命令的输出:

Python 3.9.0

烧瓶1.1.2

武器1.0.1

问题是当我尝试在代码中引用flask时,它返回以下内容:ModuleNotFoundError:没有名为“flask”的模块。

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

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

from flask import Flask

app = Flask(__name__)

from app import routes
Run Code Online (Sandbox Code Playgroud)

Har*_*aye 10

虚拟环境是您已安装 Flask 的 Python 解释器的独立且隔离的安装。你的 sublime text 可能仍在运行你原来的 python 解释器(而不是虚拟环境解释器)。所以你需要告诉 sublime 你想使用哪个解释器。如果您想让在不同环境之间切换的过程快速且轻松,那么最好了解构建系统。


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


  1. 在 Sublime Text 中选择“工具”>>“新建构建系统”。这将打开一个新的构建系统配置文件。在该文件中删除所有内容并粘贴以下内容:
{
    "cmd": ["PATH TO YOUR DESIRED PYTHON INTERPRETER","-u", "$file"],
    "selector": "source.python",
    "file_regex": "^\\s*File \"(...*?)\", line ([0-9]*)"
}
Run Code Online (Sandbox Code Playgroud)

要计算出所需 python 解释器的路径,请在终端中转到项目目录,确保它已激活,然后使用which python3命令。

  1. 保存文件,然后使用新的构建系统运行您的程序。它将出现在工具的构建系统选项卡中。

我强烈推荐观看这段视频,它很好地解释了整个概念。