我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter
我的 MacBook Pro 上的 docker 容器内的模块。
所以我安装了XQuartz https://www.xquartz.org/并跟随本教程 https://towardsdatascience.com/empowering-docker-using-tkinter-gui-bf076d9e4974在 docker 容器内运行简单的 tkinter 程序。
这是我收到的错误消息
Traceback (most recent call last):
File "/app/tkinter_app.py", line 4, in <module>
root_window = tk.Tk()
File "/usr/local/lib/python3.8/tkinter/__init__.py", line 2270, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display "/private/tmp/com.apple.launchd.knFz0UzqxP/org.xquartz:0"
我的价值DISPLAY
环境变量是/private/tmp/com.apple.launchd.knFz0UzqxP/org.xquartz:0
.
有人知道如何解决这个错误吗?
这是教程中的 Dockerfile
# Slim version of Python
FROM python:3.8.12-slim
# Download Package Information
RUN apt-get update -y
# Install Tkinter
RUN apt-get install tk -y
# Commands to run Tkinter application
CMD ["/app/tkinter_app.py"]
ENTRYPOINT ["python3"]
4号线/app/tkinter_app.py
is root_window = tk.Tk()
.
我的 MacOS 版本是11.6.1
.