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

Posted

技术标签:

【中文标题】spyder中python 3的ipython控制台上的变量问题【英文标题】:Variable problem on ipython console of python 3 in spyder 【发布时间】:2020-12-01 06:09:38 【问题描述】:

最近我正在考虑主要使用 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 的值。

但是,当我在 spyder 4.0.1 的 ipython 控制台(python 3.7.6)上运行上述代码(第一行替换为#print(a))时,ipython 控制台输出错误消息, NameError: name 'a' is not defined. 当我在ipython控制台输入a时,控制台输出1

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

提前谢谢你。

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于spyder中python 3的ipython控制台上的变量问题的主要内容,如果未能解决你的问题,请参考以下文章

如何清除 Spyder 中的 iPython 控制台?

启动ipython内核发生错误,在Spyder的IPython控制台中启动内核时出现PermissionError

Spyder(Anaconda)的IPython控制台中没有输出

在 Spyder 的 IPython 控制台中启动内核时出现 PermissionError

在 IPython 控制台中运行内核的问题

解决spyder使用的python版本问题