Hallo Leute,
kann mir jemand vielleicht einen Typ geben wie ich das Problem mit den relativen Imports am einfachsten löse...
Ich kann die Datei nicht debuggen und meine Tests ausführen weil er dann immer wegen den relative imports meckert.
Viele Grüße
Python Test/Debug - error - relative imports
Bin leider gerade unterwegs.
Ich möchte ein Teil meines Django Projekts Testen und die Datei importiert ein Model.
Ich importiere das Model mit:
from ..models import KlasseX
Ich muss die Datenbank noch mocken aber das Problem mit den Imports werde ich sowieso immer wieder haben.
Ich möchte ein Teil meines Django Projekts Testen und die Datei importiert ein Model.
Ich importiere das Model mit:
from ..models import KlasseX
Ich muss die Datenbank noch mocken aber das Problem mit den Imports werde ich sowieso immer wieder haben.
Also ich habe folgende Projekt-Struktur
Projekt:
myprojekt:
myapp:
services:
service.py
admin.py
...
myprojekt:
static:
templates:
manage.py
tests:
test_service.py
.env
…
Der import in test_service sieht so aus:
Die .env:
und die __init__.py von tests so:
Projekt:
myprojekt:
myapp:
services:
service.py
admin.py
...
myprojekt:
static:
templates:
manage.py
tests:
test_service.py
.env
…
Der import in test_service sieht so aus:
Code: Alles auswählen
from ..myproject.myapp.services.evaluate import BlaBlubService
Code: Alles auswählen
PYTHONPATH="./"
DJANGO_SETTINGS_MODULE="myproject.myproject.settings"
Code: Alles auswählen
import django
django.setup()
Ja die Ordner Struktur ist nicht die beste. Die habe ich über commando Zeile von Django erstellt...
Könnte man ändern. Ich habe übrigens das Problem gelöst... eine env. Datei behebt zwar das Import Problem aber nicht die Django Abhängigkeiten...
Wie auch immer. Ich mach das jetzt über Django test und dann sag ich dem Debugger was er ausführen soll...
Trotzdem Danke für die Antwort
Könnte man ändern. Ich habe übrigens das Problem gelöst... eine env. Datei behebt zwar das Import Problem aber nicht die Django Abhängigkeiten...
Wie auch immer. Ich mach das jetzt über Django test und dann sag ich dem Debugger was er ausführen soll...
Trotzdem Danke für die Antwort
@efix:Das was keinen Sinn macht, ist nicht die Ordnerstruktur an sich - sondern wie du sie hier wiedergegeben hast. Da heißen zwei Ordner "myprojekt". Deshalb ist es immer sinnvoll zu zeigen, was tatsächlich da ist, statt etwas "das irgendwie genauso, naja fast, oh, ich hab mich vertippt".
Den Rest der Fragen hast du ja leider unbeantwortet gelassen.
Wie gesagt: Entweder führt man mit python manage.py test entsprechende Unittests aus oder man verwenden die Interaktive Shell von Django. Da hat man dann auch keine Probleme mit Abhängigkeiten - denn wenn Django läuft, dann läuft auch die interaktive Shell.
Den Rest der Fragen hast du ja leider unbeantwortet gelassen.
Wie gesagt: Entweder führt man mit python manage.py test entsprechende Unittests aus oder man verwenden die Interaktive Shell von Django. Da hat man dann auch keine Probleme mit Abhängigkeiten - denn wenn Django läuft, dann läuft auch die interaktive Shell.
Wenn Einrückungen relevant sind, sowohl bei Programmcode, aber auch bei Ordnerstrukturen, dann bitte immer den Code Button </> nutzen
_______________________________________________________________________________
https://www.python-kurs.eu/index.php
https://learnxinyminutes.com/docs/python/ https://learnxinyminutes.com/docs/de-de/python-de/
https://quickref.me/python https://docs.python-guide.org/