我在阿尔卑斯山的山顶上创造了一幅巨 Python 的图像 问题是,当我想启动Django应用程序时,它找不到Django 当我输入pip list时,它是正确的BCZ,它没有Django和其他包.

PS:当创建图片时,它显示它正在收集Django和其他包

这是Requirements.txt文件

Django>=3.2.4,<3.3
djangorestframework>=3.12.4,<3.13

这是我的文档文件:

FROM python:3.9-alpine3.13
LABEL maintainer="siavash"

ENV PYTHONUNBUFFERED 1

COPY ./requirements.txt /tmp/requirements.txt
COPY ./requirements.dev.txt /tmp/requirements.dev.txt
COPY ./app /app
WORKDIR /app
EXPOSE 8000

ARG DEV=false
RUN python -m venv /py && \
    /py/bin/pip install --upgrade pip && \
    /py/bin/pip install -r /tmp/requirements.txt && \
    if [ $DEV = "true" ]; \
        then /py/bin/pip install -r /tmp/requirements.dev.txt ; \
    fi && \
    rm -rf /tmp && \
    adduser \
        --disabled-password \
        --no-create-home \
        django-user


ENV PATH = "/py/bin:$PATH"

USER django-user

这是docker-compose.yml


version: "3.9"

services:
  app:
    build:
      context: .
      args:
        - DEV=true
    ports:
      - "8000:8000"
    volumes:
      - ./app:/app
    command: >
      sh -c "python manage.py runserver 0.0.0.0:8000"


这是我使用的命令:

docker-compose run --rm app sh -c "django-admin startproject app . "

顺便说一句,镜像创建成功

推荐答案

所以我认为发生这种情况的原因是因为一个很简单的错误,很难看到???? ENV PATH = "/py/bin:$PATH"个 应该是 ENV PATH="/py/bin:$PATH"

你可能会遇到一些Django用户的问题 USER django-user,这样你就可以用我贴的这张了.

其他一切看起来都是正确的.

Python相关问答推荐

如何使用scipy从频谱图中回归多个高斯峰?

替换字符串中的多个重叠子字符串

max_of_three使用First_select、second_select、

重新匹配{ }中包含的文本,其中文本可能包含{{var}

聚合具有重复元素的Python字典列表,并添加具有重复元素数量的新键

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

如何从pandas的rame类继承并使用filepath实例化

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何在图中标记平均点?

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

python中csv. Dictreader. fieldname的类型是什么?'

从旋转的DF查询非NaN值

我可以不带视频系统的pygame,只用于游戏手柄输入吗?''

合并相似列表

Seaborn散点图使用多个不同的标记而不是点

在聚合中使用python-polars时如何计算模式

大Pandas 中的群体交叉融合

有什么方法可以在不对多索引DataFrame的列进行排序的情况下避免词法排序警告吗?

对列中的数字进行迭代,得到n次重复开始的第一个行号

使用元组扩展字典的产品挑战