Python 的 Turtle 图形在第二次运行时总是崩溃
每次我在Python上第二次运行Turtle Graphics相关代码时,它总是崩溃或者程序没有响应,只是显示一个白屏,上面什么也没有。
当我重新启动程序时,代码正常工作并且没有错误。
我尝试运行这个:
import turtle
t = turtle.Turtle()
t.forward(100)
turtle.mainloop()
turtle.bye
非常简单的代码,没有理由出错,但除了第一次尝试之外,它无法运行多次。
我无法运行的所有代码在其他电脑上都运行得很好。所以这不是一个与写错代码相关的问题。
我在使用其他不使用 Turtle Graphics 的代码时从未遇到过此问题。只有当我多次运行代码时才会发生这种情况。
这是我收到的错误消息:
An error ocurred while starting the kernel
Fatal Python error: PyEval_RestoreThread: the function must be called with the GIL held, but the GIL is released (the current Python thread state is NULL)
Python runtime state: initialized
Thread 0x00004dd0 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\parentpoller.py", line 89 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00003aac (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\zmq\sugar\socket.py", line 619 in recv_multipart
File "C:\Users\lg\anaconda3\lib\site‑packages\jupyter_client\session.py", line 809 in recv
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\comms\frontendcomm.py", line 135 in poll_one
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\comms\frontendcomm.py", line 125 in poll_thread
File "C:\Users\lg\anaconda3\lib\threading.py", line 910 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x000026c8 (most recent call first):
File "C:\Users\lg\anaconda3\lib\threading.py", line 312 in wait
File "C:\Users\lg\anaconda3\lib\threading.py", line 574 in wait
File "C:\Users\lg\anaconda3\lib\site‑packages\IPython\core\history.py", line 829 in run
File "C:\Users\lg\anaconda3\lib\site‑packages\IPython\core\history.py", line 58 in needs_sqlite
File "C:\Users\lg\anaconda3\lib\site‑packages\decorator.py", line 232 in fun
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00000f9c (most recent call first):
File "C:\Users\lg\anaconda3\lib\selectors.py", line 315 in _select
File "C:\Users\lg\anaconda3\lib\selectors.py", line 324 in select
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1854 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\control.py", line 21 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00004b08 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\heartbeat.py", line 102 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00003548 (most recent call first):
File "C:\Users\lg\anaconda3\lib\selectors.py", line 315 in _select
File "C:\Users\lg\anaconda3\lib\selectors.py", line 324 in select
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1854 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\iostream.py", line 81 in _thread_main
File "C:\Users\lg\anaconda3\lib\threading.py", line 910 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Current thread 0x00004430 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 105 in _loop_qt
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 119 in loop_qt4
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 126 in loop_qt5
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\kernelbase.py", line 402 in advance_eventloop
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\ioloop.py", line 741 in _run_callback
File "C:\Users\lg\anaconda3\lib\asyncio\events.py", line 80 in _run
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1890 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 677 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 328 in main
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 23 in
File "C:\Users\lg\anaconda3\lib\runpy.py", line 87 in _run_code
File "C:\Users\lg\anaconda3\lib\runpy.py", line 197 in _run_module_as_main
Everytime I run Turtle Graphics related code on Python for the second time, it always crashes or the program doesn't respond and just shows a white screen with nothing on it.
When I restart the program, the code works normally and has no errors.
I tried running this:
import turtle
t = turtle.Turtle()
t.forward(100)
turtle.mainloop()
turtle.bye
Pretty simple code that has no reason to go wrong, but it fails to run multiple times except for the first try.
All codes I failed to run ran perfectly well on other PCs. So it isn't a miswritten code related proplem.
I never had this problem with other codes that doesn't use Turtle Graphics. Only when I run the code more than once it happens.
This is the error message I got:
An error ocurred while starting the kernel
Fatal Python error: PyEval_RestoreThread: the function must be called with the GIL held, but the GIL is released (the current Python thread state is NULL)
Python runtime state: initialized
Thread 0x00004dd0 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\parentpoller.py", line 89 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00003aac (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\zmq\sugar\socket.py", line 619 in recv_multipart
File "C:\Users\lg\anaconda3\lib\site‑packages\jupyter_client\session.py", line 809 in recv
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\comms\frontendcomm.py", line 135 in poll_one
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\comms\frontendcomm.py", line 125 in poll_thread
File "C:\Users\lg\anaconda3\lib\threading.py", line 910 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x000026c8 (most recent call first):
File "C:\Users\lg\anaconda3\lib\threading.py", line 312 in wait
File "C:\Users\lg\anaconda3\lib\threading.py", line 574 in wait
File "C:\Users\lg\anaconda3\lib\site‑packages\IPython\core\history.py", line 829 in run
File "C:\Users\lg\anaconda3\lib\site‑packages\IPython\core\history.py", line 58 in needs_sqlite
File "C:\Users\lg\anaconda3\lib\site‑packages\decorator.py", line 232 in fun
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00000f9c (most recent call first):
File "C:\Users\lg\anaconda3\lib\selectors.py", line 315 in _select
File "C:\Users\lg\anaconda3\lib\selectors.py", line 324 in select
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1854 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\control.py", line 21 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00004b08 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\heartbeat.py", line 102 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Thread 0x00003548 (most recent call first):
File "C:\Users\lg\anaconda3\lib\selectors.py", line 315 in _select
File "C:\Users\lg\anaconda3\lib\selectors.py", line 324 in select
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1854 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\iostream.py", line 81 in _thread_main
File "C:\Users\lg\anaconda3\lib\threading.py", line 910 in run
File "C:\Users\lg\anaconda3\lib\threading.py", line 973 in _bootstrap_inner
File "C:\Users\lg\anaconda3\lib\threading.py", line 930 in _bootstrap
Current thread 0x00004430 (most recent call first):
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 105 in _loop_qt
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 119 in loop_qt4
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\eventloops.py", line 126 in loop_qt5
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\kernelbase.py", line 402 in advance_eventloop
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\ioloop.py", line 741 in _run_callback
File "C:\Users\lg\anaconda3\lib\asyncio\events.py", line 80 in _run
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 1890 in _run_once
File "C:\Users\lg\anaconda3\lib\asyncio\base_events.py", line 596 in run_forever
File "C:\Users\lg\anaconda3\lib\site‑packages\tornado\platform\asyncio.py", line 199 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\ipykernel\kernelapp.py", line 677 in start
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\console\start.py", line 328 in main
File "C:\Users\lg\anaconda3\lib\site‑packages\spyder_kernels\console\__main__.py", line 23 in
File "C:\Users\lg\anaconda3\lib\runpy.py", line 87 in _run_code
File "C:\Users\lg\anaconda3\lib\runpy.py", line 197 in _run_module_as_main
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论