Как установить пакеты в уже запущенный докер-контейнерPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как установить пакеты в уже запущенный докер-контейнер

Сообщение Anonymous »


Я создаю приложение Django с помощью Docker. После того, как я уже создал свой контейнер, я добавил ImageField в одну из своих моделей. Когда я запустил docker-compose run web(имя моего сервиса) python3 Manage.py makemigrations, он выдал мне ошибку, что мне нужно установить Pillow:

web_1 | Отслеживание изменений файлов с помощью StatReloader веб_1 | Выполняем проверку системы... веб_1 | веб_1 | Исключение в потоке django-main-thread: веб_1 | Traceback (последний вызов последний): веб_1 | Файл «/usr/local/lib/python3.12/threading.py», строка 1052, в _bootstrap_inner веб_1 | self.run() веб_1 | Файл "/usr/local/lib/python3.12/threading.py", строка 989, в запуске веб_1 | self._target(*self._args, **self._kwargs) веб_1 | Файл "/usr/local/lib/python3.12/site-packages/django/utils/autoreload.py", строка 64, в оболочке веб_1 | fn(*args, **kwargs) веб_1 | Файл «/usr/local/lib/python3.12/site-packages/django/core/management/commands/runserver.py», строка 133, в файле Internal_run. веб_1 | self.check(display_num_errors=True) веб_1 | Файл "/usr/local/lib/python3.12/site-packages/django/core/management/base.py", строка 556, находится под контролем. веб_1 | поднять SystemCheckError (сообщение) веб_1 | django.core.management.base.SystemCheckError: SystemCheckError: Проверка системы выявила некоторые проблемы: веб_1 | веб_1 | ОШИБКИ: веб_1 | system.Task.image: (fields.E210) Невозможно использовать ImageField, поскольку Pillow не установлен. веб_1 | СОВЕТ: получите Pillow по адресу https://pypi.org/project/Pillow/ или выполните команду «python -m pip install Pillow». После этого я попробовал установить с помощью docker-compose run web python3 -m pip install Pillow, вроде как установил:

Запуск базы данных... готово Создание app_web_run... готово Коллекционная подушка Получение информации о зависимостях для Pillow из https://files.pythonhosted.org/packages ... ux_2_28_x8. 6_64.whl.метаданные Загрузка Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (9,5 КБ) Загрузка Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (3,6 МБ) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3,6/3,6 МБ 287,0 кБ/с эта 0 :00:00 Установка собранных пакетов: Подушка Подушка-10.1.0 успешно установлена. ВНИМАНИЕ: запуск pip от имени пользователя root может привести к нарушению разрешений и конфликтному поведению с системным менеджером пакетов. Вместо этого рекомендуется использовать виртуальную среду: https://pip.pypa.io/warnings/venv. Но когда я запустил docker-compose up, он все равно выдавал ту же ошибку.

После некоторого поиска в Google я обнаружил, что могу перейти в консоль Docker или что-то вроде docker exec -it bash, поэтому я сделал это и установил Pillow, а после запуска < code>pip list показал мне, что Pillow установлен, но когда я вернулся к docker-compose up, я все еще получал ту же ошибку. Я попытался добавить Dockerfile в раздел сборки docker-compose, но это тоже не сработало. Так что я здесь((

Мой файл Docker:

ИЗ Python:3 ОКРУЖАЮЩАЯ СРЕДСТВА ПИТОННЕБУФЕРИРОВАННАЯ=1 РАБОЧИЙ ДИАПАЗОН/код КОПИРУЙТЕ требования.txt /code/ RUN pip install --upgrade pip ЗАПУСТИТЬ apk --обновить добавить \ база сборки \ jpeg-dev \ zlib-dev ЗАПУСТИТЬ pip install --no-cache-dir -r require.txt КОПИРОВАТЬ. /код/ Мой файл docker-compose.yml:
версия: "3.11" услуги: БД: имя_контейнера: БД изображение: постгрес объемы: - ./data/db:/var/lib/postgresql/data среда: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres сеть: строить: контекст: . файл докеров: файл докеров команда: python3 Manage.py runserver 0.0.0.0:8000 объемы: - .:/код порты: - «8000:8000» зависит от: - БД
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»