没有名为rest_framework的模块。 Django + Docker

我已经安装了djangorestframework markdowndjango filter ,在django docker容器的virtualenv中使用pip,通过pip freeze检查。 OS X中的绝对path是/Users/user/project/denv/lib/python2.7/site-packages 。 在settings.py中添加了'rest_framework',但仍然在'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 

编辑:terminal截图 在这里输入图像说明

编辑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 

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

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

你不需要手动点击安装。 dockerfile中的以下行将安装需求。

 RUN pip install -r requirements.txt 

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

 # previous stuff Django etc... djangorestframework 

并运行

 docker-compose up --build