python - 没有名为 rest_framework 的模块。 Django + docker

标签 python django docker virtualenv

我在 django docker 容器中的 virtualenv 中使用 pip 安装了带有 markdowndjango filterdjangorestframework,通过 pip freeze 检查。 OS X 中的绝对路径是 /Users/user/project/denv/lib/python2.7/site-packages。在 settings.py 中添加了 'rest_framework', 但在 docker-compose up 之后仍然出现以下错误。我想这与错误的路径有关,但不知道如何解决。

Traceback (most recent call last):
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
web_1  |     fn(*args, **kwargs)
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 113, in inner_run
web_1  |     autoreload.raise_last_exception()
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception
web_1  |     six.reraise(*_exception)
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper
web_1  |     fn(*args, **kwargs)
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 27, in setup
web_1  |     apps.populate(settings.INSTALLED_APPS)
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
web_1  |     app_config = AppConfig.create(entry)
web_1  |   File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
web_1  |     module = import_module(entry)
web_1  |   File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
web_1  |     __import__(name)
web_1  | ImportError: No module named rest_framework

编辑:终端截图 enter image description here

编辑 2:docker-compose.yml

 version: '2'
 services:
   db:
     image: postgres
   web:
     build: .
     command: python manage.py runserver 0.0.0.0:8000
     volumes:
       - .:/code
     ports:
       - "8000:8000"
     depends_on:
       - db

EDIT2:我想这个错误是因为应用程序实际上使用的是 docker 的 python 而不是 virtualenv python。

这可能吗?如何将 djangorestframework 安装到 docker 的 python 包或更好地使 django 应用程序使用自己的 python?

最佳答案

您不需要手动进行 pip 安装。 dockerfile 中的以下行将安装要求。

RUN pip install -r requirements.txt

你只需要将 djangorestframework 添加到你的 requirements.txt

# previous stuff Django etc...
djangorestframework

然后运行

docker-compose up --build

关于python - 没有名为 rest_framework 的模块。 Django + docker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458331/

相关文章:

python - 更新了 Numpy 索引中的 Python 星标表达式错误

python - 如何降低selenium python输入字符的速度

python - 绘制 Pandas Multiindex 条形图

具有多个数据库的 Django 迁移

docker - 您可以一次传递多个 Docker BuildKit secret 吗?

python - 多个 Python 发行版——管理包

django - 如何设置表单字段值 - django

mysql - Django 1.6 w/gunicorn - 操作错误 : (2006, 'MySQL server has gone away' )

docker - Kubernetes 为运行 JVM 的 Pod 抛出 OOM

docker - 如何在Windows中为docker工具箱设置注册表镜像