Python 3.x 升华3路径变量

Python 3.x 升华3路径变量,python-3.x,path,installation,windows-10,sublimetext3,Python 3.x,Path,Installation,Windows 10,Sublimetext3,我正在尝试在windows 10 pc上为sublime text 3设置python 3构建路径。系统表示找不到指定的文件,但我已经添加了路径并为python 3设置了构建系统。尝试生成时收到的错误消息如下 [WinError 2]系统找不到指定的文件 [cmd:['python3','-i','-u',C:\\Users\\strinkjr\\Desktop\\Python Stuff\\errorSearch.py'] [dir:C:\Users\strinkjr\Desktop\Pyth

我正在尝试在windows 10 pc上为sublime text 3设置python 3构建路径。系统表示找不到指定的文件,但我已经添加了路径并为python 3设置了构建系统。尝试生成时收到的错误消息如下

[WinError 2]系统找不到指定的文件 [cmd:['python3','-i','-u',C:\\Users\\strinkjr\\Desktop\\Python Stuff\\errorSearch.py'] [dir:C:\Users\strinkjr\Desktop\Python Stuff] [路径:C:\Users\strinkjr\Desktop\Python Stuff\] [已完成] 我的生成环境文件如下所示:

{ cmd:[python3,-i,-u,$file], 文件\u regex:^[]文件\C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/Python.exe\,第[0-9]行*, 选择器:source.python }
我不确定是路径设置不正确,还是生成环境设置不正确。也许两者都有一些总体问题阻碍了你的发展

首先,您没有正确设置路径。生成输出将显示当前定义的路径(就命令执行而言):

[path: C:\Users\strinkjr\Desktop\Python Stuff\]
路径是windows将在其中查找您尝试执行的程序的位置列表,因此,除非此目录中有python3.exe,否则您会意外地将路径设置为您正在运行的文件的位置,而不是用于运行这些文件的解释器的位置

其次,将-i传递给Python解释器,使其在执行完脚本后进入交互模式。Sublime不允许您与从Sublime构建中执行的程序进行交互,因此,如果您在程序完成执行并进入交互模式后执行此操作,它将有效地挂起,等待您提供无法提供的输入

您的生成系统还包含以下文件\u regex条目:

在升华构建文件中,文件_regex用于检测程序输出中的哪些行是错误,以便升华允许您在错误之间导航,或者在启用该选项的情况下使用内联错误标记它们

虽然这不会阻止程序运行,但会阻止Sublime识别错误,因为文件名永远不会匹配

我会尝试一个类似以下内容的sublime构建文件,看看它是否更适合您:

{ shell\u cmd:python3-u\$file\,, 文件\正则表达式:^[]*文件\…*?\,第[0-9]行*, 选择器:source.python, 环境:{ Python编码:utf-8, 路径:$PATH;C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/ }, } 这将删除-i参数,以阻止解释器进行交互,从而停止任何问题,并使用shell_cmd而不是cmd来提供命令,这会稍微改变格式

这里的文件_regex将匹配常规python错误,这与您已经提供的文件类似,但没有对python可执行文件的引用

这里最大的增加是几个环境变量。第一种方法确保Python知道它应该使用utf-8来生成输出,因为Sublime控制台希望它使用utf-8。如果您试图显示非ascii输出,这将阻止您获得潜在错误

这还应用了一个新的路径,该路径包括现有路径,并且还添加了一个路径,该路径看起来可能是根据您已经使用的文件安装Python的位置


如果位置不正确,该零件可能需要调整;或者,您可以删除sublime构建的PATH部分,并根据需要修改PATH环境变量。请注意,如果您这样做,您可能需要重新启动Sublime才能看到更改。

谢谢您的帮助!
"file_regex": "^[ ]File \"C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/python.exe\", line ([0-9]*)",