use*_*030 7 python tkinter google-colaboratory
这个错误:
TclError: no display name and no $DISPLAY environment variable
Run Code Online (Sandbox Code Playgroud)
当我尝试在 Google Colab(协作 Jupyter 笔记本)中运行 Python 3.6 程序时出现。我在 Windows 10 机器上的 Chrome 中运行 Colab。我已经在 Stack Overflow 的其他线程中看到了这个错误,但在 Colab 的上下文中却没有,之前发布的解决方案要么不适用,要么似乎不起作用。
我的代码是这样开始的:
from matplotlib.pyplot import *
from matplotlib.widgets import *
from math import *
from random import *
from numpy import *
from tkinter import *
Run Code Online (Sandbox Code Playgroud)
请注意,为了使 tkinter 的导入工作,我必须在不同的 Colab 单元中发出以下指令:
!apt-get install python3-tk
Run Code Online (Sandbox Code Playgroud)
MGL*_*don 14
我从 Reddit 上的另一篇文章中发现,你可以创建一个虚拟显示器。下面的内容实际上适用于我的 Colab 笔记本。
### CREATE VIRTUAL DISPLAY ###
!apt-get install -y xvfb # Install X Virtual Frame Buffer
import os
os.system('Xvfb :1 -screen 0 1600x1200x16 &') # create virtual display with size 1600x1200 and 16 bit color. Color can be changed to 24 or 8
os.environ['DISPLAY']=':1.0' # tell X clients to use our virtual DISPLAY :1.0.
Run Code Online (Sandbox Code Playgroud)
在我的具体案例中,我需要可视化 NLTK 树,因此我必须遵循以下附加步骤。
%matplotlib inline
Run Code Online (Sandbox Code Playgroud)
### INSTALL GHOSTSCRIPT (Required to display NLTK trees) ###
!apt install ghostscript python3-tk
Run Code Online (Sandbox Code Playgroud)
chunked_sentence = '(S (NP this tree) (VP (V is) (AdjP pretty)))'
Run Code Online (Sandbox Code Playgroud)
from nltk.tree import Tree
from IPython.display import display
tree = Tree.fromstring(str(chunked_sentence))
display(tree)
Run Code Online (Sandbox Code Playgroud)
问题是tkinter您正在尝试使用。
Tk 通常会为您的界面创建 GUI(就像一个新窗口)。但是 Colab 运行在云中的 Web 服务器上。它无法在您的机器上打开窗口。您只能通过笔记本界面与它交互。
您需要限制交互以不使用 GUI。或者通过笔记本将它们更改为基于网络的。你想运行什么样的程序?
| 归档时间: |
|
| 查看次数: |
20554 次 |
| 最近记录: |