我在 django docker 容器中的 virtualenv 中使用 pip 安装了带有 markdown
和 django filter
的 djangorestframework
,通过 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
编辑 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/