【问题标题】:Indentation error in simple python简单python中的缩进错误
【发布时间】:2016-05-16 07:49:05
【问题描述】:

更新: 原始问题是使用C-RET 发布的以运行会产生错误的行。使用成功评估脚本的菜单Python > Eval region,我没有收到此类错误。

但是,每次执行都使用菜单真的很烦人,而且我不能单独使用该方法运行当前行。所以我的问题仍然存在。


如果我遗漏了一些明显的东西,请原谅我,但我无法弄清楚这一点。

这段代码给了我一个 IndentationError。我无法想象发生了什么。

for x in range(0, 3):
    print "We're on time %d" % (x)

这是我的 emacs.el 中与 python 相关的所有内容

;; elpy
(add-to-list 'package-archives
             '("elpy" . "http://jorgenschaefer.github.io/packages/"))
(package-initialize) 
(elpy-enable)

【问题讨论】:

  • 检查你的脚本是否有不同的缩进类型,例如混合制表符和空格
  • @HarryPotfleur 谢谢,但在这种情况下,它们都是 python 主要模式自动放置的空间。

标签: python emacs indentation


【解决方案1】:

菜单中的所有命令都有一个可通过 M-x COMMAND RET 调用的命令名。 在这种情况下 M-x python-send-region RET

【讨论】:

    【解决方案2】:

    您混合了制表符和空格。这可能会导致一些令人困惑的错误。

    我建议仅使用制表符或仅使用空格进行缩进。

    仅使用空格通常是更容易的选择。大多数编辑器都有自动将制表符转换为空格的选项。如果您的编辑器有此选项,请将其打开。 您可以将代码粘贴到记事本中查看。

    【讨论】:

    • 谢谢,不过我没看到。如果我运行 emacs'untabify 将任何制表符转换为空格,它仍然不起作用,所以我认为这可能不是问题。
    • 代码在 Sublime 2 中适用于我。看看this
    猜你喜欢
    • 2017-04-06
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多