python - 无法在 jupyter notebook 上运行 turtle(turtle 图形窗口无响应)

标签 python jupyter-notebook turtle-graphics

第一个问题

当我偶然发现 turtle 模块时,我正在做 ThinkPython 2e 第 4 章案例研究:界面设计中的示例。

我使用 jupyter notebook 作为 IDE 来做练习。这是代码

import turtle
bob = turtle.Turtle()

当我运行上面的代码时,代码被执行但 Python Turtle Graphic 无法运行,状态为“未响应”

这也是一样的,虽然当我运行下面的命令时,内核在报错之前忙了一会儿

import turtle
bob = turtle.Turtle()
print(bob)
turtle.mainloop()

是什么导致了这个错误?

第二个问题

然后我尝试了下一个代码

bob.fd(100)

它只是卡住所以我不得不中断代码,这是错误

---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-7-a3ce06f254ac> in <module>
      2 bob = turtle.Turtle()
      3 print(bob)
----> 4 turtle.mainloop()

~\Anaconda3\lib\turtle.py in mainloop()

~\Anaconda3\lib\turtle.py in mainloop(self)
    811 
    812         """
--> 813         TK.mainloop()
    814 
    815     def textinput(self, title, prompt):

~\Anaconda3\lib\tkinter\__init__.py in mainloop(n)
    558 def mainloop(n=0):
    559     """Run the main loop of Tcl."""
--> 560     _default_root.tk.mainloop(n)
    561 
    562 getint = int

KeyboardInterrupt: 

我尝试过的

我试过引用这个话题 Turtle does not run more than once in jupyter notebook
最终让我回到这里

https://medium.com/@jiyuanli93/how-to-make-python-turtle-works-in-jupyter-notebook-6c506b9a973f

或在这里

https://github.com/gkvoelkl/ipython-turtle-widget

一些信息:当我在 Anaconda 提示符下运行它时

$ jupyter nbextension install --py --symlink --sys-prefix ipyturtle
$ jupyter nbextension enable --py --sys-prefix ipyturtle

它产生了一些问题,但当我以管理员身份运行它们时运行完美(据说 validating: ok)

任何帮助将不胜感激,我已经坚持了 2.5 小时

最佳答案

我遇到了和你一样的问题。

这对我有用。

将以下代码放入三个 Jupyter Notebook 单元格中:

单元格 1

import turtle
bob = turtle.Turtle()
print(bob)

单元格 2

for i in range(4):
    bob.fd(100)
    bob.lt(90)

单元格 3

turtle.mainloop()

然后一个一个地运行它。

我和你一样是菜鸟,但我认为正在发生的事情是代码 turtle.mainloop() 终止对象 bob,或类似的东西。你应该做的是在执行 turtle.mainloop() 之前执行所有像 bob.fd(100) 这样的 Action 。有道理吗?

关于python - 无法在 jupyter notebook 上运行 turtle(turtle 图形窗口无响应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57839743/

相关文章:

python - Tensorflow Lite - ValueError : Cannot set tensor: Dimension mismatch

python - 更改 Jupyter 笔记本版本 4.x+ Logo

numpy - 在 ipython-widgets 中启用多选

python - Jupyter 中的 Matplotlib 内联 - 如何控制绘图的显示时间?

python - 如何知道python中 turtle 图形上特定文本的像素大小?

python - 为什么我的可选组不是贪心的?/(5)?.*/

python - 使用Vpython后,无法连接到Pycharm中的控制台进程

python - 有没有办法使用用户名或电子邮件登录 Django 管理界面?

python - 如何改变 turtle 的大小?

python - 无法添加形状(图片)