【问题标题】:Evaluation missing in SublimeREPL PythonSublimeREPL Python 中缺少评估
【发布时间】:2014-05-30 16:10:12
【问题描述】:

我正在尝试让 SublimeREPL 与 Python 一起工作。但是,每当我使用键盘快捷键向 REPL 发送 Python 命令时,只会显示来自 stdout 的输出。该命令的评估也应该显示,但不是。这是一个简洁的示例,在通过键盘快捷键将命令从 Python 源发送到 REPL 后,从 REPL 的输出中复制和粘贴。

>>> print 'This will print out'
This will print out
>>> 'But this will not'
>>> 1+1

我会预期以下输出(在 Python 中从 BASH 终端手动运行会产生此输出):

>>> print 'This will print out'
This will print out
>>> 'But this will not'
'But this will not'
>>> 1+1
2

最后一点,手动直接在 Sublime Text REPL 中输入命令会产生所需的输出,但速度较慢且不方便。

我在 Ubuntu 13.10 上使用带有默认 Python 2.7.5 解释器的 SublimeText3 运行它。

【问题讨论】:

标签: python sublimetext sublimerepl


【解决方案1】:

发生这种情况是因为 REPL 实际上评估您的代码的方式与您将所有这些命令放在一个文件中并从命令行 - 在这种情况下,它的行为不是交互式解释器。

如果您希望 REPL 表现得更像 IDLE,例如,您需要将您的代码转移到它,然后切换并从那里运行它,只需通过将 Shift 添加到您的按键序列中。因此,如果之前您使用 Ctrl,, S 来评估选择,只需使用 Ctrl Shift,, S 将您的选择转移到 REPL。切换选项卡并按 Enter,它应该会按照您的预期运行。

【讨论】:

  • 是否有一个键绑定来传输和评估表达式?我喜欢在 RStudio 中,Ctrl+Enter 将转移、评估甚至将光标前进到下一次...
  • @JeffErickson 在 SublimeREPL 的用户设置中设置 "show_transferred_text": true,这意味着 SublimeREPL 将尝试在评估之前将评估代码附加到 REPL 输出。这基本上是一次“转移和评估”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-08
  • 1970-01-01
  • 2018-11-25
  • 2019-03-13
相关资源
最近更新 更多