python-3.x - 我想更改 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 解释器,但我不知道如何。
解决方案
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
。
推荐阅读
- java - 尝试将本机 SQL 转换为 HQL 时出现异常?
- python - 为什么 python 2 和 3 对于某些十六进制值有不同的打印输出?
- python-3.x - 使用 Pandas 找到每个唯一组的最高值
- javascript - 我的请假申请表中的回形针选项以附加文件
- android - 如何在滑动刷新布局中检索特定用户
- sql-server - DBeaver 连接已关闭 MS SQL
- java - Java 只通过一个对象发送类参数
- dialog - 如何编写代码“如果我在对话框中单击“取消”,对话框将关闭,该字段将不显示任何内容。”?
- python - 在 Ubuntu 上降级 Python 版本
- html - 用于将样式应用于多个元素但也使用 id 的类,我们可以应用样式。有什么区别?