繁体   English   中英

Python 3不适用于Sublime Text 2

[英]Python 3 is not working with Sublime Text 2

我一直使用Sublime Text 2超过一年,最近开始使用它进行Python。 Sublime有一个用于Python的内置构建,我尝试使用它(内置的是2.7.3或2.XI相信的东西)。 我使用的是Python 3.3.0。 我已经编辑了sublime-build文件并将其更改为:

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

正如另一个线程上的stackoverflow所示。 我尝试重新启动sublime并尝试运行我的代码:

x = input("Name: ")
print("Welcome " + x)
input()

但是在底部的控制台上,当我使用build(Ctrl + B)运行时出现以下错误:

Name: Traceback (most recent call last):
File "/home/andrew/grive/Documents/RandomProjects/PythonStuff/HelloWorld.py", line 32,      
in <module>
x = input("Name: ")
EOFError: EOF when reading a line
[Finished in 0.1s with exit code 1]

另外,我试图通过使用SublimeREPL和Python函数来绕过内置的构建函数,但是它们也检测到我的Python构建为2.7.3,因此没有编译我的3.3.0代码。 请注意,我确实安装了Python 3,我使用的是Ubuntu,当我在终端中键入“python3”时,Python会在终端中使用正确的版本启动。

所以我有两个问题:

为什么我的python3.sublime-build无法正常工作?如何解决?

由于我是一个Linux菜鸟,我无法访问构建文件。 我曾经遇到过他们,但我现在忘记了。 它们位于/home/~.config/sublime-text-2/等等。

我看不到.config文件,因为奖励积分可以解释一下这是如何工作的吗?

您的问题是sublimetext构建不能接受用户输入 - 没有连接输入流。 你的Python版本无关紧要。

但是,可以编写一个插件来获取输入!


至于配置文件,只需使用“首选项 - >浏览包”菜单项。

我发现从'python'到'python3'函数编辑'Python.sublime-build'文件的OP解决方案。

我知道这是因为当我遇到同样的问题时,OP的解决方案帮助了我,证据如下:

import sys
print(sys.platform)

整个练习代码:

import sys
print(sys.platform)
print(2 ** 100)
x = 'Spam!'
print(x * 8)
input('Press ENTER to exit...')

使用Python 2.7,返回的是“linux2”(对我来说)。 使用Python 3.3,返回的是“linux”。 这是我首次使用PVM检测到的。 当我在Sublime 2中进行'Build'时,'linux2'就是输出; 使用OP的方法将输出更改为'linux',所以我认为这是正确的事情(最简单)。

使用Python构建输出:

linux2
1267650600228229401496703205376
Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!
Press ENTER to exit...Traceback (most recent call last):
  File "/home/sick/Python/script1.py", line 6, in <module>
    input('Press ENTER to exit...')
EOFError: EOF when reading a line
[Finished in 0.0s with exit code 1]

使用Python3构建输出:

linux
1267650600228229401496703205376
Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!
Press ENTER to exit...Traceback (most recent call last):
  File "/home/sick/Python/script1.py", line 6, in <module>
    input('Press ENTER to exit...')
EOFError: EOF when reading a line
[Finished in 0.1s with exit code 1]

没有程序错误; 它给出了一个错误,因为程序期待用户输入(据我所知,但我只在第4章)。

我有同样的问题,只有当我使用终端启动此程序时,我才能这样做:

 cd WayToFile
 python FileName

一切都完成了。 也许它是如何在所有Python版本中工作的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM