Wo projektspezifischen Python-Code setzen?
Projektspezifische Anwendungen können im Stammverzeichnis des Projekts platziert werden - das funktioniert einfach "out of the box". Wenn es viele solche Apps gibt, kann das allerdings ein wenig unordentlich sein. Aber es ist einfach, dem PYTHONPATH
ein zusätzliches Verzeichnis hinzuzufügen. In der Dockerfile
hinzufügen: ENV PYTHONPATH /app/src:$PYTHONPATH
. Der Beginn des Dockerfile sollte wie folgt aussehen:
# <DOCKER_FROM> # Warning: text inside the DOCKER_FROM tags is auto-generated. Manual changes will be overwritten.
FROM aldryn/base-project:3.1.0
# </DOCKER_FROM>
# add the "src" folder to the PYTHONPATH
ENV PYTHONPATH /app/src:$PYTHONPATH
# <DOCKER_BUILD> # Warning: text inside the DOCKER_BUILD tags is auto-generated. Manual changes will be overwritten.
# node modules
[....]
Nach dieser Änderung muss das Docker Bild neu aufgebaut werden: docker-compose build web
Wie externe Projektabhängigkeiten installieren?
Externe projektspezifische Anforderungen können zu requirements.in
hinzugefügt werden. Es ist dem requirements.txt
sehr ähnlich, wird aber mit dem Befehl pip-compile
von pip-tools vorverarbeitet.
Stellen Sie sicher, benutzerdefinierte Abhängigkeiten außerhalb der
# <INSTALLED_ADDONS>
...
# </INSTALLED_ADDONS>
-Tags zu setzen, da dieser Teil der Datei automatisch beibehalten wird und wird automatisch mit den Anforderungen überschreibt, die in der Benutzeroberfläche ausgewählt wurden.
Wenn Änderungen in dieser Datei aufgenommen werden sollen, erstellen Sie das Andock-Image neu: docker-compose build web