我正在与一个使用Google colab的学生一起工作。我尝试向她介绍乌龟图形。我们收到此错误:TclError:没有显示名称,也没有$ DISPLAY环境变量。 当我尝试查找错误时,所有解决方案都非常特定于matplotlib。这对我的学生没有任何调整就起作用了。 我正在为此寻找一种解决方案,该解决方案更普遍或更适合至少与turtle和tkinter一起使用。
学生正在使用一本书。她在学校使用Google colab,如果可能的话,最好在那种环境下解决问题。确实尝试创建了Turtle对象,但这产生了相同的错误。 我对所有错误进行了搜索,找到了与matplotlib有关的问题。在这种情况下,解决方案是通过调用.use('Agg')来覆盖我认为的渲染选项。我没有看到明显等同于乌龟的东西。 我还尝试使用matplotlib,以查看是否收到了我在帖子中看到的错误。我们尝试了一个简单的matplotlib示例,该示例无需任何更改即可工作。图形输出显示为预期。
进口龟 turtle.forward(100)
我希望在结果中绘制乌龟图形。
TclError跟踪(最近一次通话) 在()中 ----> 1个turtle.forward(100)
5幅 /usr/lib/python3.6/tkinter/init.py in init ((self,screenName,baseName,className,useTk,sync,use) 2021年baseName = baseName +分机 2022互动= 0 -> 2023 self.tk = _tkinter.create(screenName,baseName,className,交互式,wantobjects,useTk,sync,use) 2024如果useTk: 2025年self._loadtk()
TclError:没有显示名称,没有$ DISPLAY环境变量
答案 0 :(得分:0)
使用Tk作为窗口显示龟。但是Colab服务器位于Internet上,它无法在您的计算机上打开新窗口并将显示发送到该计算机。因此,您不能(轻松)在Colab上使用Turtle。
如果您确实想要,可以使用虚拟显示和捕获屏幕来显示的困难方法。但我认为这太难了。
如果您想在浏览器上教乌龟,这里有一个用JavaScript实现的
https://rawgit.com/wrschneider99/js-turtle/master/turtle.html
答案 1 :(得分:0)
我更喜欢使用https://repl.it/来教Turtle(有一个特定的选项可以做到这一点)。
答案 2 :(得分:0)
用于Google Colab笔记本的海龟 安装Google Colab: 创建一个空的代码单元格并输入:
!pip3 install ColabTurtle
运行代码单元。
用法 在任何代码单元中,按如下所示导入:
from ColabTurtle.Turtle import *
由于Colab在运行时中存储了已声明的变量,因此请在使用前调用它:
initializeTurtle()
答案 3 :(得分:0)
创建一个空的代码单元,键入以下pip命令并运行它:
!pip3 install ColabTurtle
在单独的代码中使用乌龟
from ColabTurtle.Turtle import * #or simply import ColabTurtle should work fine
alex = ColabTurtle.Turtle
alex.initializeTurtle()
alex.forward(100)
alex.right(90)
alex.forward(100)
您实际上可以使用直接调用(跳过所有alex对象的引用),但是恕我直言,这不是一个好主意:
import ColabTurtle
forward(100)
right(90)
forward(100)
因为您不是让学生习惯使用物体和 他们看不到可用方法的工具提示。