首页 > 解决方案 > 我想更改 Sublime text 3 python 解释器

问题描述

我将 python 3.7 与 MacOS Mojave 一起使用并尝试使用 sublime 文本,我遇到了 python 路径问题,但现在我知道我需要的解释器在哪里,但我不知道如何更改 sublime 文本的解释器。

当我尝试构建代码时,它显示此错误:

SyntaxError: Non-ASCII character '\xc3' in file /Users/julian/Documents/Ficheros_Python/calculadora/tenor.py on line 98, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
[Finished in 0.1s with exit code 1]
[shell_cmd: python -u "/Users/julian/Documents/Ficheros_Python/calculadora/tenor.py"]
[dir: /Users/julian/Documents/Ficheros_Python/calculadora]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin]

我知道我需要的解释器在/usr/local/bin/python3.7或者 Pycharm 显示的位置,我只需要在 Sublime 中更改 python 解释器,但我不知道如何。

标签: python-3.xsublimetext3macos-mojave

解决方案


Sublime Text 使用它的构建系统功能来执行你的 python 代码。它根据文件的范围选择构建系统,可以通过更改文件的语法来更改。对于 python 文件,范围是source.python,相关的构建系统基本上如下所示:

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

有几种方法可以更改 Sublime Text 调用的 python 解释器。

  • 将系统默认python命令调用的python解释器更改为引用另一个python解释器。如果您的 python 可执行文件位于 中/usr/local/bin,您可以执行以下操作:

    unlink /usr/local/bin/python
    ln -s /usr/local/bin/python3.7 /usr/local/bin/python
    

    但是,这可能会对依赖于默认 python 解释器的特定版本的其他应用程序产生不利影响。

  • 为您的特定解释器创建一个 python 构建系统。为此,请转到Preferences > Browse Packages并创建一个文件User/Python3.7.sublime-build,其中包含:

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

    完成此操作后,Sublime 将显示一个弹出窗口,询问您要使用什么构建系统,因为该source.python范围现在有两个构建系统。

    多加一点创意,您可以将新的构建系统Ctrl+b默认连接到快捷方式,这样构建系统选择弹出窗口就不会再出现了。要实现这一点,您应该向刚刚创建的构建系统添加一个命名变体User/Python3.7.sublime-build,方法是添加:

    "variants": [{"name": "Python3.7",}],
    

    然后,通过添加以下快捷方式Preferences > Key Bindings

    {
        "keys": ["ctrl+b"], 
        "context": [{"key": "selector", "operator": "equal", "operand": "source.python"}],
        "command": "build", "args": { "variant": "Python3.7" },
    },
    

    必要时,仍然可以通过快捷方式调用从可用构建系统中选择的弹出窗口Ctrl+Alt+b


推荐阅读