![](/img/trans.png)
[英]How is python importing a package in Docker without installing it in the container first?
[英]Python package I created not importing correctly in Docker container
我从项目中创建了一个 package,我想在 Docker 容器中运行该 package。 package 是一个 Flask 应用程序,在本地安装 package 后,我可以使用FLASK_APP=packagename
和flask run
该项目。 当我在 Docker 容器中执行相同操作时,出现错误Error: Could not import "packagename.packagename".
这是我的 Dockerfile:
FROM python:3.7
FROM pytorch/pytorch
MAINTAINER Nikolay Valkov nikolay1499@gmail.com
# set a directory for the app
WORKDIR /usr/app/
# copy all the files to the container
COPY . .
# install dependencies
RUN pip install --no-cache-dir -r requirements.txt
WORKDIR /usr/app/src/
RUN pip install -e .
WORKDIR /usr/app/src/packagename
# tell the port number the container should expose
EXPOSE 5000
ENV FLASK_APP packagename
# run the command
CMD flask run
任何想法为什么这只发生在 Docker 容器而不是本地。
您可以尝试这样做,它应该将 package 复制到您的工作目录:更改将 WORKDIR 替换为 ADD 或 COPY CMD
FROM python:3.7
FROM pytorch/pytorch
MAINTAINER Nikolay Valkov nikolay1499@gmail.com
# set a directory for the app
WORKDIR /usr/app/
# copy all the files to the container
COPY . .
# install dependencies
RUN pip install --no-cache-dir -r requirements.txt
WORKDIR /usr/app/src/
RUN pip install -e .
ADD /usr/app/src/packagename packagename
# tell the port number the container should expose
EXPOSE 5000
ENV FLASK_APP packagename
# run the command
CMD flask run
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.