Richtiger Einstieg in Django

mschrak

Commander
Registriert
Sep. 2009
Beiträge
2.199
Hallo zusammen,

ich bräuchte mal einen ganz knappen Stups in die richtige Richtung, da ich mich schon wieder verzettel.
Ich möchte gerne (mal wieder) in Django anfangen, um Django zu lernen. Leider stecke ich in der Installation fest.
In aller Kürze: Ich habe Linux Mint 20.1 XFCE neu aufgesetzt, fange mit dem Tutorial zur Installation von der Django-Seite an und schlittere gerade in ein "Versions-Chaos".
Mein Problem ist: Bei Mint ist bereits Python dabei (3.8.5). Allerdings scheint pip nicht vorhanden zu sein ("python -m pip --version" ergibt "no module named pip". Sollte ich nun alles, was Mint bereits mitbringt, manuell deinstallieren und wieder neu installieren? Zerschieße ich damit andere Skripte, die bereits vorhanden sind? Finden sich Python3, pip und Django dann oder verbringe ich die nächsten 4 Stunden damit, die jeweiligen Verbindungen herzustellen?
Anders gefragt: Ich habe einen nackten PC, komplett neu aufgesetzt, der nur für diesen einen Zweck da ist und möchte Django lernen. Wie ist der "Königsweg" zur Installation alles Notwendigen, der mich schnell und aktuell in die Lage versetzt, mit Django anzufangen? (also mit dem, was ich eigentlich machen möchte)
Danke im Voraus,

Martin
 
mschrak schrieb:
Sollte ich nun alles, was Mint bereits mitbringt, manuell deinstallieren und wieder neu installieren?
Nein, musst du nicht. Pip wird einfach eine neuere Version lokal installieren.
 
Ich hatte mich ein wenig gewundert, dass pip nicht schon mit dabei war, da ich gelesen habe, bei den neueren Versionen von Python sei das immer automatisch der Fall.
Ergänzung ()

Außerdem stellt sich die Frage, ob es notwendig oder von Vorteil ist, für Django auf die aktuelle Python-Version (immerhin inzwischen 3.9.1) upzugraden oder ob mich das eher in Probleme bringt.
 
Unter Linux gerade bei Debian basierten Distributionen wird Software in der Regel immer in verschiedene Pakete aufgeteilt weil man oft nicht alles miteinander braucht.

Gutes Beispiel ist Libreoffice wo du unter Windows oder macOS immer das komplette Programmpaket installierst, aber unter Debian z.b. nur LibreOffice Calc installieren kannst falls du Writer, etc nicht brauchst.
 
Um ein "Versionschaos" zu vermeiden werfe ich Mal Conda/Miniconda (https://docs.conda.io/en/latest/) in den Raum. Kenne mich mit Django nicht aus, aber für die Verwaltung verschiedener Python Environments ist Conda fast schon ein muss.
 
Was @Mike312 sagt.

Ich nutze an der Stelle auch sehr gerne docker im entwicklungsprozess. venv / conda envs tun es aber genauso gut
 
Das hatte ich auch schon erwogen, allerdings ist der Rechner ja ausschliesslich für diesen einen Zweck da, da macht eine zusätzliche Virtuelle Umgebung das Ganze nur noch eine Stufe komplexer.
 
mschrak schrieb:
da macht eine zusätzliche Virtuelle Umgebung das Ganze nur noch eine Stufe komplexer.
Prinzipiell stimme ich Dir zu. Allerdings ist ja bei Python gerne mal das Problem, das dies auch noch von anderen Bestandteilen des Systems benötigt wird. Wenn Du das dann irgendwie durch deine Entwicklertätigkeiten verschmutzt, kann es dann auch gerne mal mit dem System ansich Probleme geben.
Deshalb kann es schon machen das zu trennen. Zumal es sich ja bei virtuellen Umgebungen a-la Docker darauf beschränkt, das man sich irgendwie nur ne getrennte Verzeichnisstruktur bastelt.
 
Erstell dir doch mit pipenv ein Projektverzeichnis und da installierst du dir Django rein?

Code:
# Step 1: Installation von pip3
sudo apt install python3-pip

# Step 2: Installation Pipenv
sudo pip install pipenv

# Step 3: Einen Projektordner erstellen
cd ~
mkdir Projekte
cd Projekte
mkdir MeinDjangoProjekt
cd MeinDjangoProjekt

# Step 4: Erstellen pipenv-env (im Projektordner)
pipenv shell --three

# Step 5: Installation von dependencies im pipenv-env
pipenv install django
pipenv install djangorestframework
pipenv install django-cors-headers

Danach müsste man halt das Django-Projekt starten, bin aber grad zu faul, das rauszusuchen.

Ob du wirklich in dem pipenv-env bist, erkennst du am Projektnamen vor dem Benutzer@Host:
1611512149349.png
 
  • Gefällt mir
Reaktionen: andy_m4
Zurück
Oben