www.sijohansson.com
Hem | -> | Programmering | -> | Johan | -> | Bakgrund |
Python är ett tolkat språk. Programmen i Johan-gruppen finns i källkodsform och körs med hjälp av det tolkande programmet Python, som används vid körtillfället. För att använda Johan-gruppens program måste till att börja med en passande version av Python-tolken vara installerad.
Den grafik som används av Johan ingår i ett paket, Qt, tidigare från Trolltech, numera från Nokia. Python och Qt binds samman av paketet PyQt från Riverbank Computing Ltd. Både Qt och PyQt paket måste också vara installerade.
Python distribueras under en mycket tillåtande licens och kan användas fritt. Qt och PyQt distribueras kommersiellt men också under licensen GNU GPL version 3, förutsatt att program där de används också distribueras under GNU GPL version 3. Det senare är tillämpbart på Johan.
Python 2 har funnits i många år och efterhand kommit i nyare versioner. Med Python 2.7 sätts punkt för vidareutvecklingen av Python 2.
Python 3 har redan några år på nacken och har hunnit till version 3.2.
Mellan Python 2 och Python 3 finns en vägg av icke-kompatibilitet. Mycket är gemensamt, en del skillnader kan översättas automatiskt, men en del handpåläggning måste göras vid översättning av ett program från Python 2 till Python 3. Vad jag upplever som avgörande skillnad och skäl att använda Python 3 är dess stöd för UTF-8.
Johan-programmen utvecklades under 2008 med Python 2 och översattes sedan till Python 3. De ändringar i programmen som senare tillkommit har under vintern 2011 återförts från johan_py3 till johan_py2. För närvarande (februari 2011) fungerar de båda johanversionerna tämligen identiskt. Båda kan användas mot en och samma databas. Och, med några invändningar, kan både versionerna köras från både Linux och Windows.
I datorer som levererats med Microsoft Windows brukar inte finnas installerade varken Python, PyQt eller Qt.
Det finns paket färdiga för installation att ladda hem och installera. Man kan välja att installera antingen Python 2 eller Python 3 eller till och med båda. De hamnar i skilda kataloger och stör inte varandra, t.ex.: C:\Python26 och C:\Python31.
Johan_py3 har filer som innehåller UTF-8-kodade svenska å,ä,ö. Med filerna liggande på en filserver (Linux + Samba) levereras de till Windows 2000 så som de förväntas se ut i ett Windows 2000. Och Python 3 sköter om konvertering fram och tillbaka mellan UTF-8 i programkoden och windows-tecken i Windows. Johan_py3 fungerar utmärkt, precis som tänkt. Men om filerna kopieras direkt in i en windows-dator strular det (fast jag vet ju inte om det finns moderna Windows som kan använda UTF-8 i filsystemet). Johan_py2 har inga UTF-8-kodade tecken i filnamnen och går att använda direkt. Jag föreslår Python 2 och johan_py2.
I många linuxdistributioner finns Python2, PyQt och Qt helt eller delvis färdiginstallerade eller åtminstone möjliga att ladda hem från programförråden (repositories) och automatiskt få installerade.
Det är således enkelt att komma igång med Johan för Python 2.
Först:
Sedan:
Python 2
De Linuxdistributioner jag själv använder, Kubuntu 10.10 och Kubuntu 8.4 (oktober 2010 resp. april 2008), har i sina programförråd ännu inte några samhörande paket för Python3 och PyQt, bara för Python2 och PyQt. Hur det ser ut i programförråden för andra Linuxdistributioner har jag ingen aning om.
Förr eller senare lär det väl dyka upp fullständigt stöd med PyQt för Python3, men tills vidare får jag alltså hålla till godo med Python 2 om jag vill klara mig på färdigkompilerade paket att installera direkt från programförråden.
Då gäller det att i programförråden hitta Python2, PyQt och Qt och få dem installerade om de inte redan är det.
Python 3
Det går att själv kompilera Python3 från källkod och bygga den PyQt som passar. Det är inget jag vill försöka övertala en nybörjare att ge sig på. Men den som känner sig manad att försöka kan göra så här:
Johan-gruppens huvudmapp kan ligga var som helst i filsystemet och kan kallas vad som helst.
Det skulle i Windowsmiljö kunna vara t.ex. C:\Program\johan_py2 eller C:\Program\johan_py3.
Det skulle i Linuxmiljö kunna vara t.ex. /home/användare/program/johan_py2 eller /home/användare/program/johan_py3.
Hämta arkivfilen för önskad uppsättning johanprogram:
https://www.sijohansson.com/program/johan/johan_py2.zip
https://www.sijohansson.com/program/johan/johan_py3.zip
https://www.sijohansson.com/program/johan/johan_py2.tar.bz2
https://www.sijohansson.com/program/johan/johan_py3.tar.bz2
Med ovan antagna kataloger ska man spara arkivfilen i C:\Program resp /home/användare/program
och därefter packa upp.
Skapa en genväg (ikon) och fyll i lämpligt startkommando enligt nedan,
Med ovan antagna kataloger skulle startkommandon kunna se ut så här. Gör lokal anpassning där det behövs.
Windows
C:\Python26\pythonw.exe "C:\program\johan_py2\source\johan.py"
C:\Python31\pythonw.exe "C:\program\johan_py3\source\johan.py"
Linux
python /home/användare/program/johan_py2/source/johan.py
/usr/local/bin/python3.1 /home/användare/program/johan_py3/source/johan.py
Klicka på startikonen. Johan.py ska starta. Först visas en upplysning om att INI-filen är tom.
Klicka bort upplysningen. Nästa bild visas:
Bilden påminner om denna bild , men det saknas en del innehåll:
Det saknade innehållet ska strax läggas in i INI-filen (nedan).
Tom databas
Klicka på startsidans arkiv-meny. Välj "ny databas med tom mall".
Skriv in namnet på en ny databas. Den katalog som skapas blir toppkatalog i den nya databasen. Katalogen får inte finnas sedan tidigare.
Skriv in den kompletta sökvägen till den nya katalogen.
Klicka på "Fortsätt". Databasen skapas nu. Person nr 00000001 skapas och läggs in som första person, helt utan personuppgifter.
Import från gedcomfil
Klicka på startsidans arkiv-meny. Välj "ny databas med import från gedcomfil".
Skriv in namnet på en ny databas. Den katalog som skapas blir toppkatalog i den nya databasen. Katalogen får inte finnas sedan tidigare.
Skriv in den kompletta sökvägen till den nya katalogen.
Klicka på "Fortsätt".
Ange adressen till gedcomfilen.
Klicka på "Starta import". Databasen skapas nu och fylls med person- och paruppgifterna i gedcomfilen. Importen kan ta lång tid beroende på omfattningen av gedcomfilen.
Uppgifter i gedcomfilen som importprogrammet inte är föreberett att ta emot kommer att skrivas i textfiler för respektive par och person. En loggfil skapas.
Flytta, radera, m.m.
En databas kan utan vidare flyttas, kopieras, döpas om, raderas eller fyllas på med data.
Avhängigt av operativsystem och johanversion har skapats en tom INI-fil på någon av adresserna
Studera dessa båda inifiler: xml-ini-fil-linux.html och xml-ini-fil-windows.html.
Komplettera den egna INI-filen med det egna valet av editor, ordbehandlare och filhanterare.
Fyll på med en eller kanske flera databaser och passande startpunkter.
INI-filen kan ändras eller byggas ut efterhand.
Besökare sedan 2011-02-13:
Sidan senast ändrad 2011-03-03