På väg mot QGIS 3

Då läser jag att QGIS (utvecklingsversionen) numera bygger på Qt5 och Python 3. Detta är viktigt för alla som behöver se över sina skript och plug-in inför release av QGIS 3.0 någon gång nästa år.

I detta inlägg undersöker jag om och i så fall hur, man bär sig åt för att börja testa. Det är inte helt tydligt, och kanske inte helt enkelt heller…

Till att börja med provade jag en vanlig ”master” installation.

Installationen gör jag i en virtuell dator baserad på Xubuntu 16.04.1 och därpå installeras QGIS Master på följande sätt i terminalen.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 073D307A618E5811
echo "deb http://qgis.org/debian-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list
sudo apt update && sudo apt install qgis python-qgis qgis-plugin-grass

När ovanstående är kört så finns QGIS installerat och kan startas på vanligt sätt. Den installerade utvecklingsversionen är dock baserad på källkoden i ”master_2”, vilket just nu är den version av QGIS som är i ”feature freeze” för 2.18 som släpps om knappt en månad. Denna bygger precis som tidigare på Qt4 och Python 2.

Källkoden för det som skall bli 3.0 ligger i ”master”, vilket är en helt annan gren av QGIS på GitHub. Något ”enkelt” sätt att installera denna version kan jag inte hitta…

Jag har försökt installera från källkod tidigare, men det är inte helt trivialt. Först så måste alla ”deb” källor i /etc/apt/sources.list aktiveras. Detta gör man genom att ta bort alla ”#” tecken framför dessa. Sannolikt behöver man inte aktivera allt, men det gjorde jag.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 089EBE08314DF160
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 073D307A618E5811
echo "deb http://qgis.org/debian-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list
echo "deb http://qgis.org/ubuntugis-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list
echo "deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list
sudo apt install git build-essential cmake flex bison pyqt5-dev qttools5-dev qtpositioning5-dev libqt5svg5-dev libqt5webkit5-dev 
sudo apt install cmake-curses-gui git libqt5sql5 python3-pyqt5.qtsql libproj-dev
sudo apt install libgeos++-dev libgdal-dev qtscript5-dev libqt5script5 libqca-qt5-2-dev python3-pyqt5 pyqt5-dev-tools pyqt5.qsci-dev python3-pyqt5.qsci 
sudo apt install libqt5xmlpatterns5-dev libgsl-dev libqt5scintilla2-dev python3-qwt libqwt-qt5-dev libspatialindex-dev 
git clone --depth=1 https://github.com/qgis/QGIS.git 
cd QGIS 
mkdir build 
cd build 
cmake .. 
make 
sudo 
make install

(Det är inte säkert att allt ovan krävs, men jag har listat allt, med något undantag, som jag behövde installera för att få cmake att bygga installationen)

Efter ovanstående kommandon, förutsatt att allt fungerade, finns QGIS master installerat på datorn. Själva kompileringen (make) kan ta väldigt lång tid, men det kan finnas sätt att snabba upp processen om man vill, genom att tilldela flera processorkärnor med kommandot ”make -jX”, där X ersätts med en siffra för det antal kärnor man vill göra tillgängligt. Rent formellt så är -j kommandot antal möjliga samtidiga ”jobb”, men i realiteten är det samma sak som hur många trådar som skall användas. Om man använder ”-j” utan siffra så används så många samtidiga jobb/processortrådar som möjligt.

Vill man inte ”installera” så kan man köra QGIS med ett direkt kommando via sökvägen ”./output/bin/qgis”.

skarmbild_2016-09-23_16-17-24

Nu är det så att stödet för framför allt Python 3 är inte fullt implementerat ännu. Det går att bygga QGIS och får programmet att starta, men just nu bara om Python är ”avstängt”…

skarmbild_2016-09-23_16-17-47

Därför blir det en senare fråga att testa mina plug-in för att se om dessa fungerar, men bara för att ”bevisa” att det faktiskt gick att bygga från källkod finns ovan en skärmdump av ”Om” fönstret där det framgår att det är byggt på Qt5.5.1.

Slutsatser

Jag är väldigt nöjd med att jag faktiskt lyckats bygga QGIS från källkod. Det är inte lätt, men enträgen vinner och många timmars arbete senare så har jag kanske en process jag kan upprepa… Det blir nästa steg.

Det är lite trist att det skall vara så krångligt att testa sina plug-in mot kommande förutsättningar, men jag tror att detta ändras efter det att QGIS 2.18 är släppt. Efter det så är nämligen planen att nästa version blir 3.0, och då finns det inte längre någon anledning att ha en ”master_2” version.

Har du därför inte sagolikt bråttom, eller är väldigt nyfiken, så kan du nog vänta en månad (ungefär) tills QGIS Master baseras på de nya förutsättningarna.

[Edit]

Nu finns 2.99 Master via normala installationskanaler också.

Annonser

Taggar:,

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: