我在macOS上使用Python获得了"没有$ DISPLAY环境变量"。那是MacPorts python 3.7,而不是本地python。我想在虚拟环境中使用MacPorts python,以便保持项目清洁。我还必须使用MacPorts而不是Homebrew。
我尝试将$ DISPLAY值设置为:0.0,但以下链接无济于事,因为我没有使用matplotlib,并且我正在运行带有tkinter,python和seaborn的显示问题的机器:_tkinter.TclError :没有显示名称,也没有$ DISPLAY环境变量
我从这里了解到[https://www.python.org/download/mac/tcltk/#built-in-8-6-8],不再建议使用X11,而是使用Aqua Aqua Cocoa Tk。
问题:正确设置此环境变量的诀窍是什么?
我的堆栈是:
macOS Mojave
安装了以下相关端口的Macport:
py37-tkinter @ 3.7.4 python / py-tkinter
py37-virtualenv @ 16.7.2 python / py-virtualenv
python37 @ 3.7.4 lang / python37
tcl @ 8.6.9 lang / tcl
tk @ 8.6.9 x11 / tk
virtualenv_select @ 0.1 python / virtualenv_select
当我跑步时
import tkinter as tk
tk._test()
我懂了
_tkinter.TclError: no display name and no $DISPLAY environment variable
相当最新的macOS版本默认情况下没有Xserver,因此您还需要安装一个。 据我所知(我正在使用它),XQuartz可以正常工作。
另一种选择是使用Tk的版本,该版本使用Aqua后端而不是X11后端。
应该是ActiveState TCL吗? 我安装了它,但是Python仍然给我同样的错误。 我需要重建Python还是有一种更简单的方法将其指向ActiveState?