崇高的 3 路径变量



我正在尝试在Windows 3 PC上为Sublime Text 3设置python 10构建路径。系统说找不到指定的文件,但我已经添加了路径并为python3设置了构建系统。当我尝试构建时,我收到的错误消息如下。

[WinError 2] The system cannot find the file specified
[cmd: ['python3', '-i', '-u', 'C:\Users\strinkjr\Desktop\Python Stuff\errorSearch.py']]
[dir: C:UsersstrinkjrDesktopPython Stuff]
[path: C:UsersstrinkjrDesktopPython Stuff]
[Finished]

我的构建环境文件如下:

{
"cmd": ["python3", "-i", "-u", "$file"],
"file_regex": "^[ ]File "C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/python.exe", line ([0-9]*)",
"selector": "source.python"
}

我不确定是我设置了错误的路径,还是错误地设置了构建环境。(也许两者都有(

您在这里遇到了一些总体问题。

首先是你没有正确设置PATH。构建输出显示当前就命令执行而言定义的PATH

[path: C:UsersstrinkjrDesktopPython Stuff]

PATH是窗口将查找您尝试执行的程序的位置列表,因此,除非此目录中有python3.exe,否则您不小心将PATH设置为正在运行的文件的位置,而不是用于运行它们的解释器。

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

您的构建系统还包含以下file_regex条目:

"file_regex": "^[ ]File "C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/python.exe", line ([0-9]*)",

sublime-build文件中,file_regex用于检测程序输出中的哪些行是错误,以便Sublime允许您在错误之间导航,或者如果您打开了该选项,则可以使用内联错误标记它们。

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

我会尝试像下面这样sublime-build文件,看看它是否更适合您:

{
"shell_cmd": "python3 -u "$file"",
"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
"selector": "source.python",    
"env": {
"PYTHONIOENCODING": "utf-8",
"PATH": "$PATH;C:/Users/strinkjr/AppData/Local/Programs/Python/Python36/"
},
}

这删除了阻止解释器进行交互以阻止任何问题的-i参数,并使用shell_cmd而不是cmd来提供命令,这会稍微更改格式。

此处file_regex将匹配常规 python 错误,该错误类似于您已经提供的错误,但没有引用 Python 可执行文件。

这里最大的补充是几个环境变量。第一个确保Python知道它应该使用utf-8来生成输出,因为这是Sublime控制台期望它使用的。这样可以防止您在尝试显示非 ASCII 输出时出现潜在错误。

这还会应用包含现有路径的新 PATH,并根据您已经使用的文件向其添加看起来像是安装 Python 的路径。

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

相关内容

  • 没有找到相关文章

最新更新