[英]Can't run turtle on jupyter notebook (turtle graphic window not responding)
当我偶然发现海龟模块时,我正在做一个来自 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
或在这里
一点信息:当我在我的 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()
,但我认为正在发生的是代码turtle.mainloop()
终止了对象 bob,或者类似的东西。 你应该做的是在执行turtle.mainloop()
之前执行所有的动作,比如bob.fd(100)
turtle.mainloop()
。 是否有意义?
ipyturtle 似乎不适用于 JupyterLab 或 VS Code。 试试ipyturtle3。 使用python3.6+:
python -m pip install ipyturtle3
试试这个 repo 中列出的例子: https ://github.com/williamnavaraj/ipyturtle3
https://pypi.org/project/ipyturtle3/
我发现这适用于 JupyterLab 和 VSCode
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.