Docker无法在Django项目中通过Pipenv找到已安装的模块

rnldpbln

所以我正在尝试使用pipfiles作为包处理程序来构建和运行docker映像。但是,即使在看似成功的构建之后,它也找不到“ django”模块。顺便说一下,我在Windows 10上。

这是我的 pipfile

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
django-jquery = "*"
anyconfig = "*"
asgiref = "*"
crispy-forms-materialize = "*"
django-crispy-forms = "*"
django-ranged-response = "*"
pytz = "*"
six = "*"
sqlparse = "*"
Django = "*"
Pillow = "*"

[requires]
python_version = "3.8"

我的 Dockerfile

FROM python:3.8
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN pip install pipenv
RUN pipenv install
COPY . /code/

CMD pipenv run python manage.py runserver

docker-compose.yml文件

version: '3'

services:
  web:
    build: .
    command: pipenv run python manage.py runserver 0.0.0.0:8000
    ports:
      - "8000:8000"

这是Docker构建日志

$ docker-compose build --pull
Building web
Step 1/8 : FROM python:3.8
3.8: Pulling from library/python
Digest: sha256:e02bda1a92a0dd360a976ec3ce6ebd76f6de18b57b885c0556d5af4035e1767d
Status: Image is up to date for python:3.8
 ---> d47898c6f4b0
Step 2/8 : ENV PYTHONUNBUFFERED 1
 ---> Using cache
 ---> 5330d9208341
Step 3/8 : RUN mkdir /code
 ---> Using cache
 ---> 57420ad117b3
Step 4/8 : WORKDIR /code
 ---> Using cache
 ---> 4831c4a1edf9
Step 5/8 : RUN pip install pipenv
 ---> Using cache
 ---> be3d166f236e
Step 6/8 : RUN pipenv install
 ---> Using cache
 ---> 38a63cd1032a
Step 7/8 : COPY . /code/
 ---> c86632082d57
Step 8/8 : CMD pipenv run python manage.py runserver
 ---> Running in 45b2d9ccc973
Removing intermediate container 45b2d9ccc973
 ---> d0a474b9c984
Successfully built d0a474b9c984
Successfully tagged myapp_web:latest

...当我尝试跑步时 docker-compose up

$ docker-compose up
Recreating myapp_web_1 ... done
Attaching to myapp_web_1
web_1  | Loading .env environment variables�
web_1  | Traceback (most recent call last):
web_1  |   File "manage.py", line 10, in main
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 21, in <module>
web_1  |     main()
web_1  |   File "manage.py", line 12, in main
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?
myapp_web_1 exited with code 1

希望有人可以指出我做错了什么。谢谢!

大卫·迷兹

Pipfile在运行之前,您尚未将拷贝到Docker映像中pipenv install,因此安装不会安装任何内容。您还应该考虑以下pipenv install --deploy --system选项:由于Docker映像本身是一个隔离层,因此您也无需创建虚拟环境,将Python安装到“系统”中就可以了,这样就省了pipenv run以后的需要

FROM python:3.8
ENV PYTHONUNBUFFERED 1
WORKDIR /code                 # creates the directory too
RUN pip install pipenv
COPY Pipfile Pipfile.lock ./  # <-- add this
RUN pipenv install
COPY . ./
EXPOSE 8000                   # typical metadata

# Remove "pipenv run", add the bind argument
# (No need to repeat `command:` in `docker-compose.yml`)
CMD python manage.py runserver 0.0.0.0:8000

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

节点无法找到模块(即使已安装)

来自分类Dev

React项目中的Tailwind-在安装过程中出现“无法找到模块'autoprefixer'”错误

来自分类Dev

即使似乎已安装pipenv,也无法使用pipenv安装Django

来自分类Dev

为什么python无法找到我已安装django-lockdown的模块?

来自分类Dev

木偶无法从已安装的模块apache中找到类

来自分类Dev

如何在我的项目中安装django-scheduler。我收到一条错误消息,指出无法导入模块

来自分类Dev

模块无法在新的Django项目中加载

来自分类Dev

跨不同解决方案的安装项目中的合并模块显示“无法确定名称”

来自分类Dev

无法在Visual Studio中的WIX安装项目中找到文件系统,注册表图标

来自分类Dev

Webpack:Bootstrap-loader无法找到已安装的Bootstrap 4模块

来自分类Dev

无法通过安装Wikitude PhoneGap插件将Wikitude SDK添加到项目中

来自分类Dev

无法在Cordova项目中安装插件

来自分类Dev

无法在React项目中安装firbase

来自分类Dev

Node/Docker 是 node-sass 没有找到已安装的绑定(通过 Webpack)

来自分类Dev

已安装 Node.js 但无法通过命令提示符找到文件

来自分类Dev

VS代码无法导入已安装的模块

来自分类Dev

无法在脚本中使用已安装的模块

来自分类Dev

节点无法导入已安装的npm模块

来自分类Dev

无法找到已安装的软件包

来自分类Dev

您尝试通过调用firebase.analytics()使用未安装在android项目中的fire base模块

来自分类Dev

Django未找到已安装的应用

来自分类Dev

如何在单个项目中本地安装python模块

来自分类Dev

CSS无法在Django项目中加载?

来自分类Dev

已安装Python 3 Pyperclip,但未找到模块

来自分类Dev

Docker无法找到模块/ bin / bash

来自分类Dev

Docker容器无法找到更新的节点模块

来自分类Dev

无法通过终端访问已安装的iso

来自分类Dev

无法通过终端访问已安装的iso

来自分类Dev

已安装netatalk,但仍无法通过afp连接

Related 相关文章

  1. 1

    节点无法找到模块(即使已安装)

  2. 2

    React项目中的Tailwind-在安装过程中出现“无法找到模块'autoprefixer'”错误

  3. 3

    即使似乎已安装pipenv,也无法使用pipenv安装Django

  4. 4

    为什么python无法找到我已安装django-lockdown的模块?

  5. 5

    木偶无法从已安装的模块apache中找到类

  6. 6

    如何在我的项目中安装django-scheduler。我收到一条错误消息,指出无法导入模块

  7. 7

    模块无法在新的Django项目中加载

  8. 8

    跨不同解决方案的安装项目中的合并模块显示“无法确定名称”

  9. 9

    无法在Visual Studio中的WIX安装项目中找到文件系统,注册表图标

  10. 10

    Webpack:Bootstrap-loader无法找到已安装的Bootstrap 4模块

  11. 11

    无法通过安装Wikitude PhoneGap插件将Wikitude SDK添加到项目中

  12. 12

    无法在Cordova项目中安装插件

  13. 13

    无法在React项目中安装firbase

  14. 14

    Node/Docker 是 node-sass 没有找到已安装的绑定(通过 Webpack)

  15. 15

    已安装 Node.js 但无法通过命令提示符找到文件

  16. 16

    VS代码无法导入已安装的模块

  17. 17

    无法在脚本中使用已安装的模块

  18. 18

    节点无法导入已安装的npm模块

  19. 19

    无法找到已安装的软件包

  20. 20

    您尝试通过调用firebase.analytics()使用未安装在android项目中的fire base模块

  21. 21

    Django未找到已安装的应用

  22. 22

    如何在单个项目中本地安装python模块

  23. 23

    CSS无法在Django项目中加载?

  24. 24

    已安装Python 3 Pyperclip,但未找到模块

  25. 25

    Docker无法找到模块/ bin / bash

  26. 26

    Docker容器无法找到更新的节点模块

  27. 27

    无法通过终端访问已安装的iso

  28. 28

    无法通过终端访问已安装的iso

  29. 29

    已安装netatalk,但仍无法通过afp连接

热门标签

归档