python-3.x - 在 Google colab 中使用海龟图形
问题描述
我正在与使用 Google colab 的学生一起工作。我试着向她介绍海龟图形。我们得到这个错误:TclError: no display name and no $DISPLAY environment variable。当我尝试查找错误时,所有解决方案都非常特定于 matplotlib。这对我的学生有用,无需进行任何调整。我正在寻找一种更普遍或至少适用于turtle和tkinter的解决方案。
学生正在使用 Chrome 图书。Google colab 是她在学校使用的,如果可能的话,最好在那种环境中解决问题。确实尝试创建一个 Turtle 对象,但这产生了同样的错误。我对错误进行了搜索,所有我能找到的帖子都谈到了 matplotlib 的这个问题。在这种情况下,解决方案是通过调用 .use('Agg') 来覆盖我认为的渲染选项。我没有看到龟的明显等价物。我还尝试使用 matplotlib,看看我们是否收到了我在帖子中看到的错误。我们尝试了一个简单的 matplotlib 示例,它无需任何更改即可工作。图形输出按预期出现。
进口乌龟turtle.forward(100)
我希望在结果中绘制海龟图形。
我实际上得到的是这些错误:
() ----> 1 turtle.forward(100) 中的 TclError Traceback (最近一次调用最后一次)
5 帧 /usr/lib/python3.6/tkinter/ init .py init (self, screenName, baseName, className, useTk, sync, use) 2021 baseName = baseName + ext 2022 interactive = 0 -> 2023 self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) 2024 if useTk: 2025 self._loadtk()
TclError: 没有显示名称,也没有 $DISPLAY 环境变量
解决方案
Turtle for Google Colab notebooks 为 Google Colab 安装:创建一个空的代码单元并输入:
!pip3 install ColabTurtle
运行代码单元。
用法在任何代码单元格中,导入如下:
from ColabTurtle.Turtle import *
由于 Colab 将声明的变量存储在运行时中,因此在使用之前调用它:
initializeTurtle()
推荐阅读
- ios - 如何防止 Chrome-in-iOS 上的双击放大
- java - 抽象类中的抽象属性
- javascript - 事件循环在 Javascript 中是如何工作的?
- javascript - 我的整个网站在响应模式下被推到左边如何找到问题?
- java - 在android studio中设置进度条的三个参数
- c# - 无法将 WinRT/C++ 组件加载到我的 UWP/C# 应用程序
- arrays - ARRAYFORMULA 兼容大小写敏感查找/索引匹配
- git - 如何克隆与分支具有相同文件夹名称的分支?
- java - 如何修复 Android Studio 中的 ''module java.base does not "opens java.io" to unnamed module '' 错误?
- r - 将类“perm.htest”对象从(多重排列 t 测试)转换为数据框