【发布时间】:2020-02-24 14:22:57
【问题描述】:
我会在 Dockerfile 中编译我的 python 文件 (.py) 以创建 pyc 文件,然后删除所有 *.py。
我创建了一个类似 tisone 的 Dockerfile:
FROM python:3.6-alpine
EXPOSE 8000
RUN apk update
RUN apk add --no-cache make linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk add postgresql-dev gcc python3-dev musl-dev
VOLUME /var/lib/cathstudio/data
WORKDIR /var/lib/cathstudio/data
COPY ./requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED 1
#ENV PYTHONPATH /var/lib/cathstudio/data
COPY . /var/lib/cathstudio/data
RUN python -m compileall ajaxfuncs/
好吧,当我构建图像时,编译似乎已经完成:
但是当我在卷中浏览我的文件时,没有 pyc 文件存在:
如何在 docker build 期间编译我的 python 文件以获得 pyc s?
提前非常感谢
【问题讨论】:
-
它们已编译,您将在
__pycache__文件夹中找到已编译的文件。如果要将文件与原始文件放在同一目录中,则需要使用:compileall -b -
正如我在您的其他问题之一中提到的,
VOLUME语句可防止将来对该目录进行任何更改,您应该将其删除。 -
谢谢@DavidMaze,我怎样才能创建一个读/写卷来以这种方式管理它?非常感谢
标签: python docker docker-build pyc