【发布时间】:2017-12-07 04:30:59
【问题描述】:
这个问题之前有人问过,但是我试过this等相关问题中的解决方法都无济于事。
我在使用 Python 的 exit 命令时遇到问题,并且我已经排除了我的代码由 vanilla Python 3 运行的问题。当我使用 iPython 或在 Spyder 的 iPython 控制台中运行它时,问题就出现了。
当我只使用一个简单的退出命令时,我得到了错误:
NameError: name 'exit' is not defined
我已经按照其他链接的建议导入了 sys。唯一可行的方法是尝试 sys.exit() 在这种情况下我得到:
An exception has occurred, use %tb to see the full traceback.
SystemExit
C:\Users\sdewey\AppData\Local\Continuum\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py:2870: UserWarning: To exit: use
'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
我只说这种“有效”是因为错误消息更小,所以不那么烦人:)。
有什么想法吗?似乎是 iPython 的问题。我在 Jupyter(使用 iPython)中遇到了一个不同的问题,其中完全忽略了退出,我单独发布了 here
【问题讨论】:
-
在 Spyder 的 IPython 控制台中运行
exit时,我没有发现任何问题。它只是关闭当前控制台(如预期的那样)。quit和Ctrl+D也是如此。但是,sys.exit()显示您发布的消息。我认为它是由 IPython 人员引入的,以防止人们突然退出当前会话。我的版本:Spyder 3.1.4、IPython 5.3.0. -
我知道我的回答来晚了,你的情况不是这样吗?