5

运行 AquaEmacs,我想在 Python 中执行一个缓冲区(Cc Cc)。

缓冲区开始于:

from __future__ import print_function

AquaEmacs 中的执行开始于:

import sys,imp
if'test_one_liners' in sys.modules:
   imp.reload(test_one_liners)
else:
   import test_one_liners

其中 test_one_liners.py 是我的文件。这给出了这个错误:

 SyntaxError: from __future__ imports must occur at the beginning of the file

任何人都知道在哪里以及如何解决这个问题?

让我再次添加信息以使其清楚。

创建此缓冲区:

 from __future__ import print_function

 print("Hello")

使用 File/Change Buffer Mode/Python 使其成为 Python 和 Cc Cc 执行它;它不需要保存。缓冲区被写入某个临时文件,并以SyntaxError: from __future__ imports must occur at the beginning of the file. 回溯包括一个生成的文件,该文件包含对临时文件的引用。应该发生什么而不是打印Hello。

4

3 回答 3

4

python-mode.el这是在当前版本中修复的错误。看起来 aquamacs 与旧版本的python-mode.el.

错误报告在这里:错误 #1063884和修复在这里

你应该更新你的 python-mode.el 包。

于 2013-10-17T05:26:22.600 回答
1

如前所述,这在当前的主干中是固定的。

https://launchpad.net/python-mode

检查您的示例时,得到“ImportError:没有名为 test_one_liners 的模块”,这是预期的。

第二个例子很好地打印出“你好”。

于 2013-10-17T19:27:48.707 回答
1
  1. 您说from __future__ import print_function,但错误消息谈到from __future__ imports--- 请注意s末尾的 。

  2. 你说“test_one_liners.py 是我的文件”。你说那from __future__ import print_function是在“缓冲区”的开头。但是错误消息说它在 file 的开头没有找到那个咒语test_one_liners.py。也许您当前具有该咒语的缓冲区不适用于该文件?

但如果我不得不猜测,我猜问题是#1中明显的错字。(“明显”,因为您可能只是打错了帖子,并且文件中的咒语可能是正确的。)

于 2013-10-13T23:36:27.943 回答