Sublime Text 配置 Python 环境的问题及解决方案

 更新时间:2022年01月06日 15:59:31   作者:SY-Liu  
这篇文章主要介绍了Sublime Text 配置 Python 环境的问题,文中介绍了python自定义的构建系统的完整代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

本文给出了本人在使用 Sublime Text 配置 Python 环境的记录。主要为了解决中文乱码的问题以及 Sublime Text 默认的输出窗口无法进行输入的问题。

注意:本文默认在 Windows 系统下,Sublime Text 版本为 4(及以上)。对于 Mac 和 Linux 系统几乎没有什么不同,此外,本文也同样适用于 Sublime Text 3。

总的来说,Python 环境的配置十分简单,也不需要下载安装一些插件。有一些解决方案仅仅为了实现 Python 程序的输入问题,就大费周章。本文给出个人的简单解决办法。

Python 的安装

想使用 Python,首先得安装 Python。

我们去 Python 官网进行下载,点击 Downloads,一般来说选择最新版本进行下载即可。

安装的详细过程在此不讨论了。需要注意的是,要确保Python的安装路径已经添加到系统的环境变量 Path 中,可以通过 Win+R 打开 cmd,输入 python 来检验是不是安装成功了。如果成功,则会打印一些如 Python 版本号之类的信息,并进入 >>> 的交互式环境。

Sublime Text 构建系统

接下来是重点,关于 Sublime Text 构建系统的详细内容,请参见本人的另一篇文章:

Sublime Text 构建系统 - 学习整理

打开 Sublime Text,按照 Tools | Build System | New Build System... 新建一个 .sublime-build 文件。这个文件可以任意起一个名字,如 Python.sublime-build ,我们将使用这个文件来自定义构建系统。一般把这个文件保存在用户目录的 Packages 文件夹或其子目录下(即 path\to\your\username\AppData\Roaming\Sublime Text\Packages 或其子目录下)。

我们完全不需要自己从头写一个构建系统,只需要先看一看 Sublime Text 自带的 Python 的构建系统是怎么写的,然后稍作改动即可。

在 Sublime Text 的安装路径下,我们找到 Packages 文件夹,然后在里面寻找到 Python.sublime-package,这就是 Sublime Text 自带的 Python 包。

这个 .sublime-package 文件实际上就是一个 zip 压缩包,我们把它复制到其他位置并重命名为 Python.zip,打开压缩包我们会看到其中的一个文件 Python.sublime-build,这就是 Python 的构建系统文件了。 Python.sublime-build 文件的内容如下:

Python.sublime-build:

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

	"env": {"PYTHONIOENCODING": "utf-8"},

	"windows": {
		"cmd": ["py", "-u", "$file"],
	},

	"variants":
	[
		{
			"name": "Syntax Check",
			"cmd": ["python3", "-m", "py_compile", "$file"],

			"windows": {
				"cmd": ["py", "-m", "py_compile", "$file"],
			}
		}
	]
}

我们从主 "cmd" 或是 "windows" 选项内的 "cmd" 都可以知道,Sublime Text 内部的 exec 命令将调用 python.exe(相当于在命令行输入 python),参数有两个:一个是 -u,表示强制不缓冲 stdout 和 stderr 流;另一个是 $file,表示当前的文件路径。输出结果将显示在 Sublime Text 内部的输出窗口中。另外,

"env": {"PYTHONIOENCODING": "utf-8"}

将解决某些中文乱码问题。

考虑一下现有的 Python 构建系统的缺陷,其实,它还真没有太多的缺陷,对于一般的使用足够了——特别是当你的 Python 程序不需要从键盘输入时。

为了解决对于键盘输入的需求,我们可以用 cmd 窗口来运行 Python 程序,这样不就能处理输入了吗。为此,我们只需要把 "cmd" 换掉,用以下的代码取而代之:

"shell_cmd": "start cmd /c \"python -u \"${file_name}\" & pause\""

它的意思就是启动 cmd,然后执行 python 的命令,直到程序运行完毕,最后暂停一下,通过按任意键退出,cmd 窗口也随之关闭。/c 就是表示执行由后面字符串指定的命令,然后关闭 cmd 窗口。

下面给出 Python 自定义的构建系统的完整代码:

{
    "cmd": ["python", "-u", "${file_name}"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "working_dir": "${file_path}",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"},
    "variants":
    [
        {
            "name": "Python (cmd)",
            "shell_cmd": "start cmd /c \"python -u \"${file_name}\" & pause\""
        }
    ]
}

注意,我们将写好的 .sublime-build 文件保存在用户目录的 Packages 文件夹或其子目录下(即 path\to\your\username\AppData\Roaming\Sublime Text\Packages 或其子目录下)。直接修改 Sublime Text 安装目录的 Packages 目录下的文件是徒劳的,因为它们是只读文件,每次启动 Sublime Text 都会重置这些文件。

不用担心自己写的 Python.sublime-build 文件与 Sublime Text 自带的 Python.sublime-build 文件冲突。这两个文件的配置都会在按快捷键 Ctrl+Shift+B 选择构建系统时显示出来,你可能会看到两个 Python 的配置,第一个是 Sublime Text 自带的,第二个就是你自己写的——如果你将你自定义的 .sublime-build 文件命名为 Python.sublime-build 了的话。如果不然,那么你的配置名称就是你 .sublime-build 文件的文件名(不加后缀)。

到此这篇关于Sublime Text 配置 Python 环境的文章就介绍到这了,更多相关Sublime Text 配置 Python内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现xlsx文件分析详解

    python实现xlsx文件分析详解

    这篇文章主要为大家详细介绍了python实现xlsx文件分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • keras实现多GPU或指定GPU的使用介绍

    keras实现多GPU或指定GPU的使用介绍

    这篇文章主要介绍了keras实现多GPU或指定GPU的使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 如何在Python中创建二叉树

    如何在Python中创建二叉树

    这篇文章主要介绍了如何在Python中创建二叉树,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • python+Matplotlib 绘制带置信区间的折线图

    python+Matplotlib 绘制带置信区间的折线图

    这篇文章主要介绍了python绘制带置信区间的折线图,在本文中,我们将使用 numpy 模块生成随机数据,并使用 matplotlib 库实现数据可视化,需要的朋友可以参考下
    2023-05-05
  • opencv检测动态物体的实现

    opencv检测动态物体的实现

    本文主要介绍了opencv检测动态物体的实现,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • python UDF 实现对csv批量md5加密操作

    python UDF 实现对csv批量md5加密操作

    这篇文章主要介绍了python UDF 实现对csv批量md5加密操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • python批量替换文件名中的共同字符实例

    python批量替换文件名中的共同字符实例

    这篇文章主要介绍了python批量替换文件名中的共同字符实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python中的文件打开与关闭操作命令介绍

    python中的文件打开与关闭操作命令介绍

    下面小编就为大家分享一篇python中的文件打开与关闭操作命令介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python 爬取小说并下载的示例

    python 爬取小说并下载的示例

    这篇文章主要介绍了python 爬取小说并下载的示例,帮助大家更好的理解和学习python爬虫,感兴趣的朋友可以了解下
    2020-12-12
  • 详解python定时简单爬取网页新闻存入数据库并发送邮件

    详解python定时简单爬取网页新闻存入数据库并发送邮件

    这篇文章主要介绍了python定时简单爬取网页新闻存入数据库并发送邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论