我是使用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" ]
Requirements.txt:gspread
oauth2client
fpdf
networkx
我正在尝试在docker中运行Tkinter应用程序。我该如何解决?任何帮助将非常感激。谢谢!
最佳答案
好像package tk
丢失了,希望可以解决您的问题。从Dockerfile安装tk
的alpine
软件包。修改您的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>
添加它们
关于python - 在Docker容器上运行Tkinter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63590165/