Installation av GeoDjango¶
Översikt¶
I allmänhet kräver installationen av GeoDjango:
spatial_databas
Detaljer för varje krav och installationsanvisningar finns i avsnitten nedan. Dessutom finns plattformsspecifika instruktioner tillgängliga för:
fönster
Använd källan
Eftersom GeoDjango utnyttjar det senaste inom geospatial mjukvaruteknik med öppen källkod, krävs det aktuella versioner av biblioteken. Om binära paket inte är tillgängliga för din plattform kan installation från källkod krävas. När du kompilerar biblioteken från källkod, följ anvisningarna noga, särskilt om du är nybörjare.
Krav¶
Python och Django¶
Eftersom GeoDjango ingår i Django hänvisar vi till Djangos :ref:``installationsinstruktioner <installing-official-release>` för mer information om hur du installerar.
Spatial databas¶
PostgreSQL (med PostGIS), MySQL, Oracle och SQLite (med SpatiaLite) är de spatiala databaser som för närvarande stöds.
Observera
PostGIS rekommenderas eftersom det är den mest utvecklade och funktionsrika spatiala databasen med öppen källkod.
De geospatiala bibliotek som krävs för en GeoDjango-installation beror på vilken spatial databas som används. Följande lista innehåller bibliotekskrav, versioner som stöds och eventuella anmärkningar för var och en av de stödda databasbackendarna:
Databas |
Krav på bibliotek |
Versioner som stöds |
Anteckningar |
---|---|---|---|
PostgreSQL |
GEOS, GDAL, PROJ, PostGIS |
14+ |
Kräver PostGIS. |
MySQL |
GEOS, GDAL |
8.0.11+ |
|
Oracle |
GEOS, GDAL |
19+ |
XE stöds inte. |
SQLite |
GEOS, GDAL, PROJ, SpatiaLite |
3.31.0+ |
Kräver SpatiaLite 4.3+ |
Se även `den här jämförelsematrisen`__ på OSGeo Wiki för PostgreSQL / PostGIS /GEOS / GDAL möjliga kombinationer.
Installation¶
Geospatiala bibliotek¶
Installation av databas¶
:inställning:`DATABASER` konfiguration¶
Ange inställningen ENGINE
till en av spatial backends.
Lägg till django.contrib.gis
i INSTALLED_APPS
¶
Precis som andra Django Contrib-applikationer behöver du bara lägga till django.contrib.gis
till INSTALLED_APPS
i dina inställningar. Detta är så att gis
-mallarna kan lokaliseras - om det inte görs kommer funktioner som den geografiska administratören eller KML-webbplatskartor inte att fungera korrekt.
Felsökning¶
Om du inte hittar lösningen på ditt problem här kan du delta i communityt! Det kan du göra:
Ställ din fråga på forumet `GeoDjango`__.
Lägg upp en ticket på `Django trac`__ om du tror att det finns en bugg. Se till att ge en fullständig beskrivning av problemet, använda versioner och ange komponenten som ”GIS”.
Inställningar för biblioteksmiljö¶
Det överlägset vanligaste problemet vid installation av GeoDjango är att de externa delade biblioteken (t.ex. för GEOS och GDAL) inte kan hittas. [Orsaken till detta problem är vanligtvis att operativsystemet inte känner till den katalog där biblioteken som byggts från källan installerades.
I allmänhet kan bibliotekssökvägen ställas in för varje användare genom att ange en miljövariabel eller genom att konfigurera bibliotekssökvägen för hela systemet.
miljövariabeln LD_LIBRARY_PATH
¶
En användare kan ställa in denna miljövariabel för att anpassa de bibliotekssökvägar som de vill använda. Den typiska bibliotekskatalogen för programvara som byggs från källkod är /usr/local/lib
. Därför måste /usr/local/lib
inkluderas i variabeln LD_LIBRARY_PATH
. Till exempel: kan användaren placera följande i sin bash-profil:
export LD_LIBRARY_PATH=/usr/local/lib
Ställa in sökväg för systembibliotek¶
På GNU/Linux-system finns det vanligtvis en fil i /etc/ld.so.conf
, som kan innehålla ytterligare sökvägar från filer i en annan katalog, till exempel /etc/ld.so.conf.d
. Som rotanvändare lägger du till den anpassade bibliotekssökvägen (t.ex. /usr/local/lib
) på en ny rad i ld.so.conf
. Detta är ett exempel på hur man gör det:
$ sudo echo /usr/local/lib >> /etc/ld.so.conf
$ sudo ldconfig
För OpenSolaris-användare kan sökvägen till systembiblioteket ändras med hjälp av verktyget crle
. Kör crle
utan alternativ för att se den aktuella konfigurationen och använd crle -l
för att ställa in den nya bibliotekssökvägen. Var mycket försiktig när du ändrar sökvägen till systembiblioteket:
# crle -l $OLD_PATH:/usr/local/lib
Installera binutils
¶
GeoDjango använder funktionen find_library
(från Python-modulen ctypes.util
) för att upptäcka bibliotek. Rutinen find_library
använder ett program som heter objdump
(en del av paketet binutils
) för att verifiera ett delat bibliotek på GNU/Linux-system. Om binutils
inte är installerat på ditt Linux-system kan det hända att Pythons ctypes inte kan hitta ditt bibliotek även om bibliotekssökvägen är korrekt inställd och geospatiala bibliotek har byggts upp på ett perfekt sätt.
Paketet binutils
kan installeras på Debian- och Ubuntu-system med följande kommando:
$ sudo apt-get install binutils
På samma sätt på Red Hat- och CentOS-system:
$ sudo yum install binutils
Plattformsspecifika instruktioner¶
macOS¶
På grund av de olika paketeringssystemen som finns tillgängliga för macOS har användarna flera olika alternativ för att installera GeoDjango. Dessa alternativ är:
Postgres.app (enklast och rekommenderas)
bygga_från_källa
Detta avsnitt innehåller även instruktioner för att installera en uppgraderad version av Python från paket som tillhandahålls av Python Software Foundation, men detta är inte nödvändigt.
Python¶
Även om MacOS levereras med Python installerat kan användare använda ”ramverksinstallatörer” som tillhandahålls av Python Software Foundation. En fördel med att använda installationsprogrammet är att Python i macOS förblir ”orört” för intern användning i operativsystemet.
Observera
Du måste ändra miljövariabeln PATH
i filen .profile
så att den nya versionen av Python används när python
skrivs in på kommandoraden:
export PATH=/Library/Frameworks/Python.framework/Versions/Current/bin:$PATH
Postgres.app¶
Postgres.app är en fristående PostgreSQL-server som innehåller PostGIS-tillägget. Du måste också installera gdal
och libgeoip
med Hemmabryggare.
När du har installerat Postgres.app lägger du till följande i din .bash_profile
så att du kan köra paketets program från kommandoraden. Ersätt X.Y
med versionen av PostgreSQL i Postgres.app som du installerade:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/X.Y/bin
Du kan kontrollera om sökvägen är korrekt inställd genom att skriva which psql
i en terminalprompt.
Hemmabryggare¶
`Homebrew`__ tillhandahåller ”recept” för att bygga binära filer och paket från källan. Det ger recept för GeoDjango-förutsättningarna på Macintosh-datorer som kör macOS. Eftersom Homebrew fortfarande bygger programvaran från källan krävs Xcode.
Sammanfattning:
$ brew install postgresql
$ brew install postgis
$ brew install gdal
$ brew install libgeoip
Fink¶
`Kurt Schwehr`__ har varit snäll nog att skapa GeoDjango-paket för användare av `Fink`__-paketsystemet. olika paket finns tillgängliga (börjar med django-gis
), beroende på vilken version av Python du vill använda.
MacPorts¶
`MacPorts`__ kan användas för att installera GeoDjango-förutsättningar på datorer som kör macOS. Eftersom MacPorts fortfarande bygger programvaran från källkod krävs Xcode.
Sammanfattning:
$ sudo port install postgresql14-server
$ sudo port install geos
$ sudo port install proj6
$ sudo port install postgis3
$ sudo port install gdal
$ sudo port install libgeoip
Observera
Du måste också ändra PATH
i din .profile
så att MacPorts-programmen är tillgängliga från kommandoraden:
export PATH=/opt/local/bin:/opt/local/lib/postgresql14/bin
Dessutom ska du lägga till inställningen DYLD_FALLBACK_LIBRARY_PATH
så att biblioteken kan hittas av Python:
export DYLD_FALLBACK_LIBRARY_PATH=/opt/local/lib:/opt/local/lib/postgresql14
Fönster¶
Fortsätt genom följande avsnitt i tur och ordning för att installera GeoDjango på Windows. I denna handledning kommer vi att installera 64-bitarsversioner av varje applikation.
Python¶
Installera en 64-bitarsversion av Python. Se Installera Python för ytterligare information.
PostgreSQL¶
Ladda ner den senaste installationen av `PostgreSQL 15.x installer`__ från webbplatsen `EnterpriseDB`__. Efter nedladdning, kör installationsprogrammet, följ anvisningarna på skärmen och behåll standardalternativen såvida du inte vet konsekvenserna av att ändra dem.
Observera
PostgreSQL-installationsprogrammet skapar en ny postgres
databas superanvändare Du kommer att uppmanas en gång att ställa in lösenordet - se till att komma ihåg det!
När installationsprogrammet är klart kommer det att fråga om ”Launch Stack Builder at exit?” – håll detta markerat, eftersom det är nödvändigt att installera PostGIS.
Observera
Om den har installerats framgångsrikt kommer PostgreSQL-servern att köras i bakgrunden varje gång systemet startas som en Windows-tjänst. En :menyval:`PostgreSQL 15` startmenygrupp kommer att skapas och innehåller genvägar för Application Stack Builder (ASB) samt ’SQL Shell’, som startar ett `` psql`` kommandofönster.
PostGIS¶
Från Stack Builder (för att köra utanför installationsprogrammet,
), välj från rullgardinsmenyn och klicka på nästa. Expandera menyträd och välj .När du har klickat på nästa uppmanas du att bekräfta det valda paketet och ”Download directory”. Klicka på nästa igen, detta kommer att ladda ner PostGIS och du kommer att bli ombedd att klicka på nästa för att starta PostGIS-installationsprogrammet. Välj standardalternativ under installationen. Installationsprocessen innehåller fyra Ja/Nej-dialogrutor, standardalternativet för alla fyra är ”Nej”.
OSGeo4W¶
Installationsprogrammet OSGeo4W hjälper till att installera PROJ-, GDAL- och GEOS-biblioteken som krävs av GeoDjango. Hämta först installationsprogrammet OSGeo4W installer och kör det. Välj och klicka på nästa. Kontrollera att GDAL är valt i listan ”Select Packages”. Om några andra paket är aktiverade som standard, krävs de inte av GeoDjango och kan avmarkeras på ett säkert sätt. När du har klickat på Nästa och accepterat licensavtalen hämtas och installeras paketen automatiskt, varefter du kan avsluta installationsprogrammet.
Ändra Windows-miljön¶
För att kunna använda GeoDjango måste du lägga till dina OSGeo4W-kataloger i Windows-systemets Path
samt skapa miljövariablerna GDAL_DATA
och PROJ_LIB
. Följande uppsättning kommandon, som kan köras med cmd.exe
, kommer att ställa in detta. Starta om din enhet när detta är klart för att de nya miljövariablerna ska kännas igen:
set OSGEO4W_ROOT=C:\OSGeo4W
set GDAL_DATA=%OSGEO4W_ROOT%\apps\gdal\share\gdal
set PROJ_LIB=%OSGEO4W_ROOT%\share\proj
set PATH=%PATH%;%OSGEO4W_ROOT%\bin
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t REG_EXPAND_SZ /f /d "%PATH%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"
Observera
Administratörsbehörighet krävs för att utföra dessa kommandon. För att göra detta kör du kommandotolken som administratör och anger kommandona ovan. Du måste logga ut och logga in igen för att inställningarna ska börja gälla.
Observera
Om du har anpassat OSGeo4W:s installationskataloger måste du ändra variablerna OSGEO4W_ROOT
i enlighet med detta.
Installera Django och konfigurera databasen¶
:ref:Installera Django <installing-official-release>
på ditt system. Det rekommenderas att du skapar en virtuell miljö <python:tutorial/venv> för varje projekt du skapar.
psycopg¶
Python-modulen `` psycopg`` tillhandahåller gränssnittet mellan Python och PostgreSQL-databasen. psycopg
kan installeras via pip inom din virtuella Python-miljö:
...\> py -m pip install psycopg
Fotnoter