当我在 Windows 10 docker 客户端上运行“docker-compose up
”时,出现以下错误:
counterapp_web_1 | File "manage.py", line 7, in <module>
counterapp_web_1 | from app import app
counterapp_db_1 | 2018-01-26T05:09:23.517693Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
counterapp_web_1 | ImportError: No module named 'app',
这是我的 dockerfile:
FROM python:3.4.5-slim
## make a local directory
RUN mkdir /counter_app
ENV PATH=$PATH:/counter_app
ENV PYTHONPATH /counter_app
# set "counter_app" as the working directory from which CMD, RUN, ADD references
WORKDIR /counter_app
# now copy all the files in this directory to /counter_app
ADD . .
# pip install the local requirements.txt
RUN pip install -r requirements.txt
# Listen to port 5000 at runtime
EXPOSE 5000
# Define our command to be run when launching the container
CMD ["python", "manage.py", "runserver"]
有一个manage.py
调用文件夹app
,在app
下有__init__.py
.
最佳答案
仔细检查 docker run 上的此错误是否为 because of your directory name :
__init__.py
is imported using a directory. if you want to import it as app you should put__init__.py
file in directory namedapp
a better option is just to rename
__init__.py
toapp.py
所以文件夹名为 app
,而不是 counter_app
。
关于python-3.x - 在 docker python 中找不到应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48456199/