Sublime Text 4 中的 Virtualenvs

Virtualenvs in Sublime Text 4

我有不同的 virtualenv,并且能够指定每个项目使用哪个 virtualenv 我在 Sublime Text 3 中使用了包 Virtualenv (https://packagecontrol.io/packages/Virtualenv)。直到通过更新的那一天我成为 Sublime Text 4 的所有者。Virtualenv 包停止工作(它只能与 Sublime Text 3 一起使用)。

我现在用另一种方式管理 Sublime Text 4 中的 virtualenv。我通过 Tools/Build System 使用 virtualenv。我 运行 我的脚本直接没有离开 Sublime 就像包 Virtualenv 一样。要为现有的 virtualenv 构建新的构建系统,我首先 运行 Tools/Build System/New Build System 并在新打开的文件中粘贴:

{
    "shell_cmd": "C://python_projects/my_project/env/Scripts/python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

在此之后,我将其保存在目录 User 中的项目名称(此处 my_project_python)下。它创建一个名为 my_project_python.sublime-build 的新文件(由构建系统名称后跟 .sublime_build 组成)。这样做之后,我转到 Tools -> Build System,我可以看到一个新选项 my_project_python。不同的 virtualenv 仅在路径 C://python_projects/my_project/env/Scripts/python 和文件名 .sublime-build.

上有所不同

这很好,但是当我们有大量具有不同 virtualenv 的文件夹时,Tools -> Build System 中有这么多名称可能会有点令人沮丧。我认为 Virtualenv 包可以更优雅地管理 virtualenv。

所以我想问问社区是否有另一个像 Virtualenv 这样的包可以在 Sublime Text 4 中工作?也许有人有办法 运行 Sublime Text 4 中的 Virtualenv 包?

ST3有Virtualenv包,可以降级。目前它不适用于 ST4 (issue)。 您可以为每个项目指定构建系统:

  • 创建 sublime 项目或将现有目录添加到 sublime 项目
  • 转到项目 -> 编辑项目
  • 添加这个并保存在你项目的根目录中:
{
    "build_systems":
    [
        {   
            "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",  # highlight line on error
            "name": "<proj-name>",
            "selector": "source.python",
            "shell_cmd": "/path/to/virtualenv/.venv/bin/python -u \"$file\""
        },
    ],
    "folders":
    [
        {
            "path": "."
        },
    ],

}
  • 如果您不想将 .sublime-project 文件存储在项目的根目录中,请在以下位置指定项目根目录的完整路径:"path": "/path/to/proj"
  • 不过,您需要在 运行 脚本之前选择构建系统。在这种情况下,它将是
  • 您可以通过编程方式生成此配置。

项目配置的更多选项 here

如果你发现适合 venvs 的东西,请联系我)