Django telepítése Ubuntu- (Debian-) alapú linux desktopon

Szerző: Soós Zoltán


Az alábbiakban bemutatom lépésről-lépésre egy Python/Django fejlesztői környezet kialakítását az Ubuntu-alapú (Debian) KDE Neon linux operációs rendszeren. Telepíteni fogjuk a 2019 decemberében legfrissebb Python verziót, ami a 3.8-as, a hozzátartozó pip csomagkezelőt, a pipenv-et, amely segítségünkre lesz a virtuális környezet kialakításában, a Django-keretrendszer legfrissebb 3.0-ás változatát. A kódok írására a PyCharm és a VSCode ingyenes verzióit fogjuk használni, valamint a fejlesztők elengedhetetlen kellékét a git-et, amely a programjaink különböző verzióinak kezelésében nyújt segítséget. Ahhoz, hogy projektjeink kódjait bárhonnan elérhessük a GitHub-ra töltjük fel.

 

1. Python legfrissebb (3.8) verziójának telepítése

A linux operációs rendszer használja a Python egyes moduljait, ezért az operációs rendszer telepítésével együtt telepítésre kerül. A KDE Neon (az Ubuntu 18.04 LTS alapú) installálja a Python 2.7 és 3.6 verziókat, melyből alapértelmezettként az utóbbit állítja be. Mindemellett a tárolókban megtalálható a Python 3.7 és 3.8 verzió is.

Amennyiben a Python legfrissebb verzióját akarod használni a fejlesztés során, akkor hajtsd végre az ebben a pontban foglaltakat. Ha megfelel számodra az alapértelmezett 3.6-os verzió, akkor csak az első két utasítását.

A telepítés ezen szakaszát rendszergazdai jogosultság mellett végezzük, ezért használni fogjuk a sudo parancsot.


Ellenőrizzük le a Python3 alapértelmezett verzióját:
python3 --version vagy python -V

Frissítsük az operációs rendszer tárolóit:
sudo apt-get update

Majd telepítsük fel a Python 3.8-at:
sudo apt-get install python3.8

Ellenőrizzük le, hogy érintetlen maradt az alapértelmezett Python3 verziónk, illetve elérhető-e az általunk telepített 3.8-as verzió.
python3 --version
python3.8 --version

2. A pip telepítése és upgrade-je

A pip csomagkezelő egyetlen verziója sem telepedik fel alapértelmezetten az operációs rendszerrel, ezért a Python3-as verzióhoz tartozó pip-et nekünk kell telepíteni.


A python3.8-dev csomagot csak akkor válaszd, ha már előtte telepítetted a Python 3.8-as verziót az 1.-es pontban foglaltak szerint.
sudo apt-get install python3-pip python3.8-dev

Ezekután ellenőrizzük le a pip3 verzióját és működését:
pip3 --version
pip3

Látható, hogy a pip 9.0.1 verzió került telepítésre a tárolóból. Ennél van sokkal frissebb verzió, ami a pip 19.3.1-es. De mielőtt frissítenénk a pip csomagkezelőt, tisztáznunk kell egy dolgot. Ettől a ponttól kezdve a Python további könyvtárainak/moduljainak a frissítését már nem rendszergazdai jogosultsággal hajtjuk végre, ezzel elkerülve az operációs rendszer esetleges összeomlását. Mostantól a /home könyvtárunkban elszeparálva, tulajdonképpen egy virtuális környezetben bővítjük, frissítjük tovább a Python környezetünket.

Ezzel kapcsolatban bővebben olvashattok az alábbi linkeken: 
ImportError in system pip wrappers after an upgrade 
Python Packaging User Guide

Frissítsük a pip3-at a legutolsó stabil verzióra:
python3 -m pip install --user --upgrade pip

A fenti utasítás hatására a /home/<user>/.local rejtett könyvtárban létrejött egy /bin és egy /lib könyvtár. Az előzőben a pip script fájljai, az utóbbiban a pip library és info fájljai találhatók külön könyvtárakban.

Amennyiben a pip frissítése után azonnal lekérdezzük a pip modulunk verzióját, akkor hibát fogunk kapni. Ennek oka, hogy az új pip fájl a fentebb említett /.local/bin könyvtárban található, de a PATH nem mutat rá. Ami valójában mégsem teljesen igaz, mert a .profile fájlunk utolsó sorai pontosan a felhasználói könyvtár /.local/bin elérést teszi lehetővé.

Ez a hiba könnyen orvosolható. A kevésbé elegáns megoldás a .profile fájl betöltésére, ha kijelentkezünk, majd újra bejelentkezünk az operációs rendszerbe. Sokkal elegánsabb megoldás, ha a fájlt a terminálban kiadott paranccsal töltjük be újra. Utána hibaüzenet nélkül ellenőrizhetjük a frissített pip modult:
. ~/.profile
pip --version

3. Python library-k ellenőrzése és frissítése

A pip utasítással megtekinthetjük, hogy milyen könyvtárak vannak telepítve és vannak-e azoknál frissebb verziók:
pip list --outdated

Ajánlott a setuptools és a wheel modulok frissítése. A parancs megegyezik a pip frissítésével:
python3 -m pip install --user --upgrade setuptools wheel

4. Pipenv telepítése

Telepítsük a pipenv csomagkezelőt a felhasználói könyvtárba
python3 -m pip install --user pipenv

5. Fejlesztői könyvtárak létrehozása 

Figyelembe véve a PythonSuli kurzusait az alábbi könyvtárstruktúrát ajánlom létrehozni.
mkdir Development
cd Development
mkdir Python
mkdir Django
cd Python
mkdir PythonCore
mkdir PythonMaster
cd ~/Development/Django
mkdir DjangoCore
mkdir SocialEngineering

Természetesen opcionális, hogy ki, hova és milyen néven hoz létre könyvtárakat.

 

6. A fejlesztési projekthez szükséges virtuális környezet kialakítása

Ha most újból megnézzük a .local/bin és /lib könyvtárát, akkor láthatjuk, hogy szépen feltelepült minden a felhasználói könyvtárstruktúrába. Azt is láthatjuk, hogy az operációs rendszer alapértelmezett Python 3.6-os verziója került be ezekbe a könyvtárakba.

 

6.1. A fejlesztéshez szükséges Python verzió hozzáadása a virtuális környezethez

Ez a rész opcionális. Csak akkor hajtsuk végre, ha az operációs rendszer alapértelmezett (KDE Neon esetében jelenleg a Python 3.6) verziójától eltérő, általunk más telepített Python verziót akarunk használni a fejlesztő környezetünk kialakítása során.


Telepítsük fel a pipenv segítségével a virtuális környezetünkbe a legfrissebb Python 3.8 verziót. Ehhez először lépjünk be abba a könyvtárba, ahol a projektünket akarjuk fejleszteni:
cd Development/Django/DjangoCore
pipenv --python 3.8

Létrejött a /DjangoCore könyvtárban egy Pipfile nevű fájl, ami a virtuális környezetben telepített csomagokat és Python verzióját tartalmazza. Valamint a /.local/share könyvtárunkban találhatunk egy /virtualenvs könyvtárat, amelyben a projektünk környezete jött létre.

 

6.2. Django telepítése

A Python webes keretrendszerét, a Django-t telepítsük az alábbi pipenv paranccsal:
pipenv install django

6.3. Pillow library telepítése

A Djangonak a képek kezeléséhez szüksége van a Pillow csomagra, ezért ezt is feltelepítjük:
pipenv install pillow

6.4. A virtuális környezet aktiválása, ellenőrzés

Végezetül aktiváljuk a virtuális környezetünket:
pipenv shell


A virtuális környezet aktiválásakor a parancssor elején, zárójelek között a könyvtár neve jelenik meg, ahol a projektünket fogjuk fejleszteni, ahol a Pipfile és a Pipfile.lock fájlok találhatóak.
Hajtsunk végre néhány ellenőrzést. Először azt, hogy a virtuális környezetünkben valóban az általunk választott Python verzió fut-e:
python --version


Most ellenőrizzük le a feltelepült és szükséges Python library-k meglétét:
pip freeze


Ha minden rendben települt, akkor 5 könyvtár nevét olvashatjuk a verziószámokkal együtt.
A környezet deaktiválása az alábbi utasítással történik:
exit

7. GitHub repository létrehozása 

Amennyiben nincs még GitHub accountunk, akkor keressük fel az oldalt és a jobb felső sarokban lévő Sign up gombra kattintva készítsünk egyet. Regisztráció után a Sign in linken keresztül lépjünk be az oldalra.

Kattintsunk a jobb felső sarokban lévő legszélső ikonra és a legördülő menüből válasszuk ki a Your repositories almenüt. Ezután kattintsunk a zöld színű New feliratú gombra.

Adjuk meg a repository nevét. A többi rész kitöltése és kiválasztása opcionális. Hozzuk létre az oldal alján lévő zöld színű Create repository gombbal.

Ezután másoljuk vágólapra a repository URL-jét. Erre szükségünk lesz a későbbiekben.

 

8. git telepítése és beállítása

A git arra szolgál, hogy a fejlesztés során készített fájlok különböző verzióit lementsük, azokhoz megjegyzéseket fűzzünk, akár hibás futás esetén visszaállíthassuk egy korábbi, de működő verzióra a projektünket. A git elérhető az operációs rendszer tárolójából, amit rendszergazdai jogosultsággal telepítünk:
sudo apt-get install git

 

A telepítés után konfigurálnunk kell a git-et. Ez annyiból áll, hogy egy globálisan használt nevet és emailt kell megadjunk:
git config --global user.name ”Salty”
git config --global user.email ”saltydev@vivaldi.net”

Majd ellenőrizzük le, hogy valóban rögzítette-e a rendszer:
git config --global user.name
git config --global user.email

A konzolon lépjünk be cd utasítással abba a könyvtárba, ahol már a Pipfile és a Pipfile.lock fájljaink találhatóak. Ezek után aktiváljuk a git-et az adott könyvtárunkra:
git init
Ekkor létrejön egy .git rejtett alkönyvtár.

Kapcsoljuk össze a lokális git repositoryt a GitHub felhőben lévő repositorynkkal.
git remote add origin https://github.com/Salty-dev/DjangoCore.git
A fájlok feltöltésekor, az úgynevezett pusholáskor meg kell majd adjuk a GitHub felhasználónevünket és jelszavunkat, ezzel hitelesítve, hogy jogosultak vagyunk a feltöltésre.

 

9. PyCharm és a VSCode telepítése

Az elmúlt időszakban egyre nagyobb népszerűségnek örvend a linux használók között a Snap Store, ami nem más mint az Android, Apple vagy a Microsoft platformjaihoz hasonló szoftverközpont, szoftveráruház. A fő támogatók között találhatóak olyan cégek, mint a Canonical, a KDE vagy a JetBrains. Olyan disztribúciók alkalmazzák, mint a Debian, Red Hat, SuSE, Arch, Raspberry és ezek forkjai. Ezen linux desktoppok esetében a legtöbbször már előre van telepítve. De ha mégsem, akkor remek telepítési útmutatóval szolgál az oldal.
Az oldal Store menüpontja alatt kategorizálva találhatjuk meg a szoftvereket, mint Development, Games, Social, Utilities, … Bármelyik kategória See more gombjára kattintva a teljes palettát láthatjuk. Egy szoftvert kiválasztva a legfrissebb, de akár régebbi verziók valamelyikét is telepíthetjük.
 

9.1. Telepítés a Szoftverközponton keresztül

A legkönnyebb dolgunk ebben az esetben van. A KDE Neon desktopon előre van telepítve a Snap Store. Ezt elérhetjük a Szoftverközponton keresztül.

kereső mezőbe írjuk be a keresendő szoftver nevét. Esetünkben a PyCharm és VSCode kerül telepítésre. Az előbbi mindhárom verzióját (ingyenes, fizetős, tanulói) megtalálhatjuk. Ha nincs szükségünk további információra, akkor kattintsunk rá a Telepítés gombra és várjuk meg annak végét. Más teendőnk nincs.
Ha néhány információt, véleményt még el akarunk olvasni, akkor csak kattintsunk a szoftver nevére, majd a telepítés gombra.

Ugyanitt például találhatunk a lokális git repositorynkhoz nagyon jó grafikus kezelőfelületet is. Például a Gitkraken-t.

 

9.2. Telepítés konzolból

A PyCharm és VSCode telepíthetőek a konzolban kiadott utasításokkal is. Ebben az esetben sem lesz bonyolult dolgunk:
PyCharm ingyenes verziójának telepítése:
sudo snap install pycharm-community --classic


PyCharm fizetős verziójának telepítése:
sudo snap install pycharm-professional --classic


VSCode telepítése:
sudo snap install code --classic

A telepített két programot elérjük a Start menü/Alkalmazások/Fejlesztőeszközök menüpont alatt.