When running docker-compose run server python manage.py makemigrations
(making migrations) and getting this error:
django.template.library.InvalidTemplateLibrary: Invalid template library specified.
ImportError raised when trying to load 'rest_framework.templatetags.rest_framework': No mo
dule named 'pytz'
My docker-compose.yml
:
version: '3'
services:
db:
build: ./etc/docker/db
restart: always
volumes:
- ./var/volumes/dbdata:/var/lib/mysql
env_file:
- ./etc/docker/db/env
healthcheck:
test: mysqladmin ping -h 127.0.0.1 -u root --password=example
interval: 1s
timeout: 5s
retries: 10
server: &web
build:
context: .
dockerfile: ./etc/docker/web/Dockerfile
volumes:
- ./server:/home/web/server
# depends_on:
# db: {condition: service_healthy}
ports:
- "8080:8080"
command: ["python", "manage.py", "runserver", "0.0.0.0:8080"]
I tried installing pytz
through pip install pytz, but I still get the same error. Now I'm confused, please explain what the problem could be.
You need to install all dependencies inside Dockerfile. Your dockerfile should contains something like
COPY requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt
Where your requirements.txt contains all libraries you need to run the server.
or you can just install libs you need inside dockerfile
RUN pip install pytz django etc...