【发布时间】:2018-12-05 18:19:35
【问题描述】:
我正在尝试用 python3 证明我的工作,而 spyder 似乎与 absolute_import 存在问题。
出于演示目的,我创建了两个简单的文件。 caller 和 callme
调用者
from __future__ import absolute_import
from .callme import helloWorld
def runme(msg):
helloWorld(msg)
if __name__ == "__main__":
runme('It worked!')
给我打电话
def helloWorld(msg):
print("helloWorld's message is '{}'".format(msg))
if __name__ == "__main__":
helloWorld('Hi')
尝试从 spyder 运行 caller 时,出现以下错误:
ValueError: Attempted relative import in non-package
通过 anaconda 提示符(python 2)从 ipython 运行或从 jupyter notebook(运行 python3 或 python2)运行都可以正常工作。
关于如何修复 spyder 的行为以便正确识别 absolute_import 的想法?
尝试过的 Spyder 版本:
3.2.4 Python 2.7.14 64 位、Qt 5.6.2、Windows 10 上的 PyQt5 5.6
3.3.2 Python 2.7.14 64 位 | Qt 5.6.2 | PyQt5 5.6 | Windows 10
更新
通过conda update spyder(现在是 3.3.2 版)更新 spyder 并没有解决问题。
【问题讨论】:
标签: spyder