Python 3不适用于Sublime Text 2

时间:2012-10-24 22:53:08

标签: python ubuntu python-3.x text-editor sublimetext2

我使用Sublime Text 2超过一年,最近开始将它用于Python。 Sublime有一个我为Python尝试使用的内置构建(内置的是2.7.3或者我认为的2.X)。我使用的是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文件,因为奖励积分可以解释一下这是如何工作的吗?

3 个答案:

答案 0 :(得分:4)

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

但是,write a plugin可以接受输入!


对于配置文件,只需使用“首选项 - &gt;浏览包”菜单项。

答案 1 :(得分:1)

我发现从'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章)。

答案 2 :(得分:0)

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

 cd WayToFile
 python FileName

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