【问题标题】:Set up Python 3 build system with Sublime Text 3使用 Sublime Text 3 设置 Python 3 构建系统
【发布时间】:2014-07-07 00:10:24
【问题描述】:

我想配置 Sublime Text 3 来构建 Python 3,但我似乎不明白构建是如何工作的。许多教程告诉我制作一个包含以下代码的构建文件:

{
    'cmd': ['/usr/bin/python3', '-u', '$file'],
    'file_regex': '^[ ]*File "(…*?)", line ([0-9]*)',
    'selector': 'source.python'
}

并将其保存为名为@9​​87654323@ 或python3.sublime-build 的文件(我发现的大部分信息都是相互矛盾的)。一个教程建议在 ST3 Packages 文件夹中创建一个名为 Python 的新文件夹并在其中添加构建文件,而其他教程建议将其留在名为 User 的文件夹中。

一个教程解释了我如何必须更改我的操作系统上的环境变量path 才能使其工作。这似乎也没有帮助。


我添加了一个文件夹 PythonPackages(因为它已经不存在)并添加到一个名为 Python.sublime_build 的构建文件中,其中仅包含我在上面发布的代码。现在,当我尝试运行 Sublime Text 时,它给了我这个错误:

Error trying to parse build system:
Expected value in Packages\Python\Python.sublime-build:2:5

【问题讨论】:

  • “让 sublime text 3 与 python 3 一起工作”是什么意思?我使用从 sublimetext.com/3 下载的 Sublime 3,它可以与 python 3 一起使用...
  • 可能是因为我下载了错误的版本(x32,而我真的需要x64)?因为我们从同一个位置下载,我根本无法让 python 3 工作。我运行的是 64 位操作系统,但我认为这不会有什么不同,因为我的许多其他程序也是 x32。
  • 对否决票的恐慌并不能解决这个问题。解释你想要做什么(清楚地),回答@Moritz的问题并解释你到目前为止做了什么(因为你做了什么,但我不确定是什么)。我还建议删除所有不相关的信息(我会对此进行编辑)。
  • 好吧,我很抱歉,我只是反应过度了,因为我收到了多个我认为今晚很清楚的问题,原因不明。 @Moritz,每次我尝试使用 Sublime Text 构建程序时,它都会使用 Python 2.7.3 构建它,而我创建的构建文件指定它应该使用 Python 3.2.5(我当前安装的 python 3 版本)电脑)。
  • 什么操作系统,这是完整的错误吗? (我不能再帮忙了,因为我得走了。)

标签: python python-3.x sublimetext3


【解决方案1】:

您收到错误的原因是您在运行 Windows 时有一个指向 python 可执行文件的 Unix 样式路径。将/usr/bin/python3 更改为C:/Python32/python.exe(确保使用正斜杠/ 而不是Windows 样式的反斜杠\)。进行此更改后,您应该一切就绪。

另外,您需要将单引号 ' 更改为双引号 ",如下所示:

{
    "cmd": ["c:/Python32/python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

.sublime-build 文件必须是有效的JSON,这要求字符串用双引号括起来,而不是单引号。

【讨论】:

  • 非常感谢!这给我带来了很多麻烦。再次为之前吓坏我道歉,那是不成熟的。
  • 这个问题与这个答案还有一个区别(解决了我的问题+谢谢);在问题中,“...”是一个完全独立的字符,而不是 3 个 . 字符。
  • @shuboy2014 正如我在回答中所说,您需要使用正斜杠作为路径分隔符。更改后,只要安装了 Python,就没有理由让您的路径不起作用。
【解决方案2】:

使 Sublime Text 成为 Python IDE (Windows) 的步骤

在 Sublime Text 3 上测试成功。假设已经安装了 Sublime Text 和包控件。 . .

  1. 安装Python(python.org)并注意安装位置或选择C盘等简单位置,同意在安装结束时解除字符限制。

  2. 安装包 SublimeREPL(Cntrl + Shift + P,包控制 - 安装包,SublimeREPL,回车)。

  3. 转到首选项,包设置,SublimeREPL,设置 - 用户。

  4. 粘贴以下内容,根据需要更新 python 安装文件夹的文件路径。您可以自定义这些并选择您喜欢的任何语法(最后一行),但我更喜欢纯文本输出。

    {
      "default_extend_env": {"PATH":"C:\\Program Files\\Python36\\"},
      "repl_view_settings": {
      "translate_tabs_to_spaces": false,
      "auto_indent": false,
      "smart_indent": false,
      "spell_check": false,
      "indent_subsequent_lines": false,
      "detect_indentation": false,
      "auto_complete": true,
      "line_numbers": false,
      "gutter": false,
      "syntax": "Packages/Text/Plain text.tmLanguage"
      }
    }
    
  5. 保存并关闭文件(SublimeREPL.sublime-settings)。

  6. 转到工具、构建系统、新构建系统。

  7. 将所有现有文本替换为以下内容:

    {
    "target": "run_existing_window_command", 
    "id": "repl_python_run",
    "file": "config/Python/Main.sublime-menu"
    }
    
  8. Cntrl + S 或另存为“C:\Users[username]\AppData\Roaming\Sublime Text 3\Packages\User\SublimeREPL-python.sublime-build”根据需要更新用户名或路径。这应该是 Sublime Text 存储你的设置和构建的地方。

  9. 转到工具,构建系统,选择 SublimeREPL-python。

  10. 全部完成——现在开始测试。打开或创建一个简单的 python 文件,扩展名为 *.py 并将其保存在任何需要的位置。

  11. 确保文件已在 Sublime Text 中打开并被选中。现在,当您按 Cntrl + B 构建并运行它时,它将打开另一个标签,标题为“REPL [python]”,执行并显示您的 Python 代码的结果。

如果您想更进一步,我强烈建议您进行以下更改,以允许 Sublime 在您按 Cntrl+B(构建)时在同一窗口中重新加载您执行的 python,而不是打开一个新的每次标签:

在 (Preferences, Browse Packages) SublimeREPL\config\Python\Main.sublime-menu 的 "repl_python_run" 命令中添加以下行,就在 "external_id": "python" 参数之前:

"view_id": "*REPL* [python]",

然后换行:

if view.id() == view_id

进入:

if view.name() == view_id

在 SublimeREPL\sublimerepl.py.

【讨论】:

  • 这不是我们应得的答案.....而是我们需要的答案。竖起大拇指!
  • 您知道为什么我在构建时,它在构建之前没有保存(即使我在 3.2 版上检查了“构建时保存”检查?)
  • @Giovanni G. PY - 抱歉,我无法重现。我正在运行 Sublime Text 3.2.2,Build 3211,并且当我在光标位于所述文件中时按 Cntrl + Shift + B 时,可以验证它是否保存了源文件,因为它执行构建并显示 REPL 窗口。
  • @Daniel 现在可以了,我不知道我是怎么做到的,是为了更新还是为了我改变的东西
【解决方案3】:

如果您使用的是 PyQt,那么对于正常工作,您应该添加 "shell":"true" 值,如下所示:

{
  "cmd": ["c:/Python32/python.exe", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python",
  "shell":"true"
}

【讨论】:

  • 谢谢!通过添加"shell":"true",我摆脱了关于windows上UNC路径的警告消息(UNC paths are not supported. Defaulting to Windows directory
【解决方案4】:

在 Sublime Text3 中运行 Python 文件

对于 Sublime Text 3, 首先安装包控制:

  • 按 Ctrl + Shift + P,将打开一个搜索栏
  • 键入安装包,然后按回车 Click here to see Install Package Search Pic

  • 安装包后。可能会提示重启 SublimeText

  • 完成上述步骤后
  • 再次重复第一步和第二步,这一次会打开仓库
  • 搜索 Python 3 并回车。
  • 你去。
  • 只需在 python 文件中按 Ctrl + B 即可获得输出。 Click here to see Python 3 repo pic

它非常适合我。希望它也对您有所帮助。 如有任何剩余要求,请在此处访问https://packagecontrol.io/installation#st3

【讨论】:

    【解决方案5】:

    为 Python3 配置 Sublime Text Editor3 的步骤:-

    1. 转到工具栏中的首选项。
    2. 选择包控制。
    3. 将打开一个弹出窗口。
    4. 键入/选择包控制:安装包。
    5. 等待一分钟,直到存储库加载。
    6. 将打开另一个弹出窗口。
    7. 搜索 Python 3。
    8. 现在为 Python3 设置了 sublime text。
    9. 现在转到工具-> 构建系统。
    10. 选择 Python3。

    享受编码。

    【讨论】:

    • 我发现此帮助简单易行。
    【解决方案6】:

    Linux 版本。使用以下内容创建文件~/.config/sublime-text-3/Packages/User/Python3.sublime-build

    {
     "cmd": ["/usr/bin/python3", "-u", "$file"],
     "file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
     "selector": "source.python"
    }
    

    【讨论】:

      【解决方案7】:

      为了补充已经解决的问题,我在我的闪存驱动器 E:上安装了 Portable Scientific Python,在另一台计算机上更改为 D:,我会收到错误“系统找不到指定的文件”。所以我用父目录来定义路径,像这样:

      来自:

      {
          "cmd": ["E:/WPy64-3720/python-3.7.2.amd64/python.exe", "$file"],
          "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
          "selector": "source.python"
      }
      

      至此:

      {
          "cmd": ["../../../../WPy64-3720/python-3.7.2.amd64/python.exe","$file"],
          "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
          "selector": "source.python"
      }
      

      你可以根据你的python安装在哪里修改你的python。

      【讨论】:

        【解决方案8】:

        首先你需要找到你的 python.exe 位置,找到位置运行这个 python 脚本:

        import sys
        print(sys.executable)
        

        然后您可以创建自定义 python 构建:

        {
        "cmd": ["C:\\Users\\Sashi\\AppData\\Local\\Programs\\Python\\Python39\\python.exe", "-u", "$file"],
        "file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
        "selector": "source.python"}
        

        您可以更改位置,在我的情况下是 C:\Users\Sashi\AppData\Local\Programs\Python\Python39\python.exe

        然后保存您的新版本。保存时不要更改文件扩展名。

        【讨论】:

        • 您不应该在论坛上发布路径。它公开了您的系统文件地址。这是个人数据,可能会被滥用。
        【解决方案9】:

        我只想在accepted answer 上加一点:

        当您编辑下面 sn-p 的 cmd 部分时,请确保添加文件地址(带有正斜杠),其中 python 保存在您的计算机上。

        {
        "cmd": ["c:/Python32/python.exe", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "selector": "source.python"
        }
        

        如何知道 python 安装在你的系统上的什么位置? windows用户的两种方式:

        1. 打开命令提示符并执行以下查询:where python 如果它显示了 python.exe 的路径,请使用/ 复制并粘贴它。如果它显示一些错误,然后按照下面的过程:
        2. 开始->搜索python快捷方式(不是IDLE)->右键单击->更多->打开文件位置->右键单击快捷方式->属性->目标->路径现在可见->复制和将其粘贴到上面的字段中。

        【讨论】:

          【解决方案10】:

          这是一个非常简单的 Python Sublime Text 构建系统,当使用 py file_name.py 调用 python 脚本时可以工作。

          只需通过Tools > Build System > New Build System 创建py.sublime-build 并添加以下内容:

          {
              "cmd": ["python3", "$file"]
          }
          

          您可以通过转到Tools > Build System > py 并使用 Ctrl + b 在 Sublime Text 编辑器中选择它。

          注意:如果您的文件系统没有python3,那么您需要提供path/to/python3,它应该可以工作。

          【讨论】:

          • 您是否偶然尝试过使用此构建系统?显然不是,因为它不起作用。在此页面上查看其他更有帮助的答案。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-10-21
          • 2015-03-01
          • 2013-10-14
          • 2018-04-27
          • 2015-02-04
          • 1970-01-01
          相关资源
          最近更新 更多