spyder 中 python 3 的 ipython 控制台变量问题

Variable problem on ipython console of python 3 in spyder

最近我正在考虑主要使用 python 3,尽管到目前为止我已经使用了 python 2.7。
但是我在 python 3 上遇到如下变量问题。

例如,下面的代码在 python 2.

中正常工作
#print a 
a=1

我在 spyder 3.3.6 的 ipython 控制台 (python 2.7.16) 上多次 运行 名为 test.py 的代码。 在第一个 运行 之后,我删除了第一行中的 #。 然后,ipython 控制台输出 1,这是 a 的值。

然而,当我运行上面的代码(第一行被#print(a)替换)类似于上面ipython控制台(python 3.7.6 ) 在 spyder 4.0.1 中,ipython 控制台输出错误信息, NameError: name 'a' is not defined.
当我在 ipython 控制台输入 a 时,控制台输出 1.

我可以在 python 3 环境中执行与在 python 2 中相同的操作吗?

提前致谢。

当 运行 脚本调用“运行 在控制台的命名空间而不是一个空的命名空间”时,有一个设置。 如果勾选该框,它会将变量保留在命名空间中。