繁体   English   中英

在 docker 容器上运行 Tkinter

[英]Running Tkinter on docker container

我是使用 docker 的新手,目前正在学习如何构建 docker 映像并运行它。 我成功地构建了我的 docker 映像,但是,运行映像时出现此错误:

Traceback (most recent call last):
  File "gui.py", line 1, in <module>
    import tkinter as tk
  File "/usr/local/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: Error loading shared library libtk8.6.so: No such file or directory (needed by /usr/local/lib/python3.7/lib-dynload/_tkinter.cpython-37m-x86_64-linux-gnu.so)

Dockerfile:

FROM python:alpine3.8 
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt 
ENTRYPOINT [ "python3" ] 
CMD [ "gui.py" ] 

要求.txt:

gspread
oauth2client
fpdf
networkx

我正在尝试在 docker 中运行 Tkinter 应用程序。 我该如何解决这个问题? 任何帮助将非常感激。 谢谢!

看起来package tk丢失了,希望这能解决您的问题。 从 Dockerfile 为alpine安装tk包。 修改您的 dockerfile 以如下安装它,

FROM python:alpine3.8 
COPY . /app
WORKDIR /app
RUN apk update && apk add tk
RUN pip3 install -r requirements.txt 
ENTRYPOINT [ "python3" ] 
CMD [ "gui.py" ] 

如果仍然有任何丢失的包,只需使用RUN apk add <package1> <package2>添加它们

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM