繁体   English   中英

Django 导入错误:无法导入 Django 使用时 Docker

[英]Django ImportError: Couldn't import Django When Use Docker

我在尝试使用 docker 时在控制台中遇到错误。如何修复它,但是当我使用 localhost 进行测试时,它就可以正常工作。

在此处输入图像描述

错误

PS C:\Users\Test\Desktop\Projects\Testadmin\master> docker-compose up
Creating network "master_default" with the default driver
Creating master_web_1 ... done
Attaching to master_web_1
web_1  | Traceback (most recent call last):
web_1  |   File "manage.py", line 8, in <module>
web_1  |     from django.core.management import execute_from_command_line
web_1  | ModuleNotFoundError: No module named 'django'
web_1  |
web_1  | The above exception was the direct cause of the following exception:
web_1  |
web_1  | Traceback (most recent call last):
web_1  |   File "manage.py", line 10, in <module>
web_1  |     raise ImportError(
web_1  | ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
master_web_1 exited with code 1

docker-compose.yml

version: '3'

services:
    web:
        build: .
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - .:/app
        ports: 
            - "8000:8000"
            

Dockerfile

FROM python:3
ENV PYTHONUNBUFFERED l
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app/
RUN pip install -r requirements.txt
COPY . /app/

管理.py

#!/usr/bin/env python import os import sys

if __name__ == '__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'master.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

要求.txt

Django==3.8.5

配置中的设置: ALLOWED_HOSTS = ['']

docker-compose build
docker-compose up

这闻起来像是一个错误的配置问题。 尝试将命令替换为

python3 manage.py runserver 0.0.0.0:8000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM