У меня нет разрешения на установку pip в оболочке docker shell
У меня есть приложение Django в контейнере docker, я хотел бы установить djangorestframework
, но когда я вхожу в оболочку контейнера docker exec -t -i <container id> shell
и запускаю pip install djangorestframework
, то получаю:
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/.local' Check the permissions.
Возможно, вам будет полезно знать, что я использую Linux машину и у меня была проблема с тем, что Docker запускал процессы Django от имени root, что означало, что мне нужны права суперпользователя для редактирования файлов Django, которые были созданы функциями Django manage.py. Я решил эту проблему, добавив:
user: "${user_id}:${group_id}"
В файл docker-compose.yml
EDIT.
Как посоветовал @tutiplain, я добавил djangorestframework
в файл requirements.txt. Теперь, когда я собираю образ, Docker использует pip для установки djangorestframework. Теперь появилась новая проблема, процесс сборки говорит, что он устанавливает пакет, но когда я пытаюсь импортировать его в файл, Django не может найти модуль. Также пакет не отображается в списке, когда я запускаю pip list
в оболочке контейнера.