我使用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文件,因为奖励积分可以解释一下这是如何工作的吗?
答案 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版本中工作的