在Docker容器中安装django-debug-toolbar后将Django卸载,如何在不卸载django的情况下安装它?

时间:2019-08-06 09:50:55

标签: django docker pip docker-compose django-debug-toolbar

我试图使用

在我的容器中安装django调试工具栏
[shub@debian teamwave](task-details-api)$ docker exec -it teamwave_backend_1 pip install django-debug-toolbar Collecting django-debug-toolbar   Downloading https://files.pythonhosted.org/packages/01/9a/3db232bd15882d90d3c53de1f34ce0a522327849593c9198899713267cfe/django_debug_toolbar-1.11-py2.py3-none-any.whl (201kB)
    100% |████████████████████████████████| 204kB 426kB/s  Collecting sqlparse>=0.2.0 (from django-debug-toolbar)   Downloading https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whl Collecting Django>=1.11 (from django-debug-toolbar)   Downloading https://files.pythonhosted.org/packages/61/cb/e3c6bfccdf23c48dd4ce014b96178aa048b9450739eaa5f11d4d23d9d5d6/Django-1.11.23-py2.py3-none-any.whl (6.9MB)
    100% |████████████████████████████████| 7.0MB 544kB/s  Requirement already satisfied: pytz in /usr/local/lib/python2.7/site-packages (from Django>=1.11->django-debug-toolbar) (2015.2) Installing collected packages: sqlparse, Django, django-debug-toolbar   Found existing installation: sqlparse 0.1.15
    Uninstalling sqlparse-0.1.15:
      Successfully uninstalled sqlparse-0.1.15   Found existing installation: Django 1.8.18
    Uninstalling Django-1.8.18:

我尝试运行容器并安装Django

启动teamwave_backend_1 ...完成 附加到teamwave_backend_1

backend_1  | Traceback (most recent call last):
backend_1  |   File "manage.py", line 8, in <module>
backend_1  |     from django.core.management import execute_from_command_line
backend_1  | ImportError: No module named django.core.management
teamwave_backend_1 exited with code 1

我后来用docker-compose build修复了django,但我也想要django-debug-toolbar。

这是我的docker-compose.yml

version: '3'

services:
  db:
    image: postgres:10-alpine
    environment:
      - POSTGRES_PASSWORD=dsdbadmin
      - POSTGRES_DB=tm_v1.1
    volumes:
      - pgdata:/var/lib/postgresql/data
      - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
  backend:
    build: .
    volumes:
      - .:/backend
    ports:
      - "8000:8000"
    depends_on:
      - db
      - redis
  redis:
    image: redis:4-alpine

volumes:
  pgdata:

这是我的Dockerfile

FROM python:2
ENV PYTHONUNBUFFERED 1
WORKDIR /backend
ADD req.txt /backend/
RUN pip install --upgrade pip
RUN pip install -r req.txt
ADD . /backend/

ENTRYPOINT ["python", "manage.py", "runserver", "0.0.0.0:8000"]

EXPOSE 8000

我使用docker-compose up来运行容器

1 个答案:

答案 0 :(得分:3)

django-debug-toolbar安装最新版本将安装Django-1.11.23并卸载旧版Django。

您可以尝试为django-debug-toolbar找到正确的Django-1.8