【问题标题】:Workaround to allow leading whitespace in IPython在 IPython 中允许前导空格的解决方法
【发布时间】:2012-01-19 03:28:15
【问题描述】:

我在 Python 中工作的标准模式是在终端中打开 IPython 的同时编辑文本文件。我一次写一行函数,然后一次一个地将它们粘贴到 IPython 中。当一行错误时,我会在文本编辑器中更正它,然后重新粘贴。

这曾经运行良好,但最新版本的 IPython 不接受缩进代码。一种建议的解决方案是使用 qt 终端,但我经常通过 ssh 会话登录。另一个建议的解决方案是使用 %cpaste ,但如果一次粘贴一行缩进代码,则开销会很大(%cpaste 在开头和 -- 结尾;每行代码有 2 行开销)。我目前所做的是在我开始处理之前在我的文本编辑器中取消缩进每个块,但这也很痛苦。还有其他想法吗?如果有办法将 IPython 永久置于 %cpaste 模式,或者该模式的任何部分使其忽略前导空格,那就太好了。

另见:

unexpected indent in ipython 0.10.1

https://github.com/ipython/ipython/issues/573

谢谢

【问题讨论】:

  • "我的标准工作模式..." 你能得到一个真正的 IDE 吗?有几十个。有很多比这更好的工作方式。您是否认为这不是最佳选择?
  • qtconsole 的一个优点是它确实在 ssh 上工作。您可以在您的服务器上运行内核,并启动一个通过 ssh 隧道连接到它的 qtconsole,并且可以继续从各个端点使用相同的内核。 the relevant docs
  • 我们对此有一个未解决的问题,但它的优先级较低:github.com/ipython/ipython/issues/995。如果您想开发它,也许作为 IPython 扩展,我们会很乐意为您提供指导。

标签: syntax whitespace indentation ipython


【解决方案1】:

刚刚提交了一个pull request 应该可以解决这个问题。对于由多个换行符分隔的大块,仍然建议使用%cpaste

【讨论】:

    猜你喜欢
    • 2013-11-07
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2021-06-18
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多