簡體   English   中英

ModuleNotFoundError:在 docker 容器中沒有名為“companyname”的模塊與 Django

[英]ModuleNotFoundError: No module named 'companyname' with Django in docker container

我收到關於名為“companyname”的模塊的錯誤(假名以不顯示此項目),盡管它與我的 Dockerfile 位於文件夾中。

這是我的 Dockerfile:

FROM python:3.7
RUN apt-get update && apt-get upgrade -y && apt-get autoremove && apt-get autoclean
RUN apt-get install -y \
    libffi-dev \
    libssl-dev \
    default-libmysqlclient-dev \
    libxml2-dev \
    libxslt-dev \
    libjpeg-dev \
    libfreetype6-dev \
    zlib1g-dev \
    net-tools \
    vim
COPY * ./
RUN pip install -U pipenv
RUN pipenv install --system
EXPOSE 8000
STOPSIGNAL SIGINT
ENTRYPOINT ["python3.7", "manage.py"]
CMD ["runserver", "0.0.0.0:8000"]

這是我的manage.py:

#!/usr/bin/env python
import os
import sys
import pymysql
pymysql.install_as_MySQLdb()

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "companyname.settings.dev")

    from django.core.management import execute_from_command_line

    execute_from_command_line(sys.argv)

然后有一個文件位於我的./companyname/settings/dev.py中的 ./companyname/settings/dev.py - 所以表面上它應該存在於復制命令的 Docker 圖像中。

但是,當我運行時:

docker run <image hash>

我得到:

ModuleNotFoundError: No module named 'companyname'

為什么 manage.py 找不到我的模塊? 應該遵守相同的目錄結構,對嗎?

COPY *./不保留目錄結構,而COPY. ./ COPY. ./確實

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM