0

我有不同的 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 构建新的构建系统,我首先运行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"
}

my_project_python在此之后,我将它保存在 dir中的项目名称(此处)下User。它创建一个名为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?

4

1 回答 1

1

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

  • 创建 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"
  • 不过,您需要在运行脚本之前选择构建系统。在这种情况下,它将是 <proj-name>
  • 您可以通过编程方式生成此配置。

项目配置的更多选项在这里

如果你发现 venvs 有一些灵活的东西,请联系我)

于 2021-09-22T07:28:11.900 回答