Programvare for INF1100

Fra TermvaktWiki
(Omdirigert fra INF1100)
Gå til: navigasjon, søk


OBS!! Kurset INF1100 har blitt erstattet av IN1900.

For å gjøre programmeringsoppgaver i INF1100 må du jobbe på en maskin som har installert Python og noen Python-pakker, deriblant SciTools. Denne programvaren finnes på alle Linux-maskiner på termstuene (bruk av Python på UiO-maskin finner du i Python-artikkelen), men om du har behov for å jobbe på din egen maskin må du få tilgang på denne programvaren. Her presenterer vi noen måter å gjøre dette på:

Innhold


INF1100-guide

Det første du bør gjøre er å ta en titt på denne siden og denne guiden How to access Python for doing scientific computing. Disse er skrevet av faglærer og er oppdatert mer nylig enn denne wiki-artikkelen.

Fjerninnlogging

Hvis du vil jobbe på egen maskin og ikke har installert all programvare du trenger for INF1100 på den maskinen, så kan du alltid fjerninnlogge deg på maskiner ved UiO og således bruke Python og andre verktøy disse maskinene. Programmeringsmiljøet er svært likt det du finner på terminalstuene. Fjerninnlogging virker uansett hva slags maskin og operativsystem du har.

Sitter du på Mac OS X skriver du bare følgende kommando i Terminal.app eller en annen terminal du liker.

ssh -XY ditt-uio-brukernavn@login.ifi.uio.no

Om du ikke har behov for å kjøre grafiske programmer over ssh kan du droppe "-XY"-opsjonen.

Sitter du på Windows kan du bruke PuTTY, se instruksjoner på sidene for fjerninnlogging. Der finnes også mer info om flere ulike måter å fjerninnlogge seg til UiO.

Installasjon av Linux

Skal du installere SciTools er dette ganske komplisert på de fleste plattformer, unntatt Ubuntu (en variant av operativsystemet Linux). Vi anbefaler derfor folk å kjøre Ubuntu på sin egen maskin. Skal du studere informatikk må du uansett bruke Linux på UiO, og det er derfor ikke dumt å ha tilgang til Linux på sin egen maskin også.

Windows

Skal du installere Ubuntu på en Windowsmaskin anbefaler vi å bruke Wubi. Wubi er et installasjonsprogram som installerer Ubuntu automatisk for deg. Det eneste du trenger å gjøre er å laste ned og kjøre Wubi, velge brukernavn og passord for Ubuntu-instrallasjonen, så tar Wubi seg av nedlasting, installasjon osv. Resultatet er at du ved oppstart av maskinen velger om du vil ha Ubuntu eller Windows. Hvis du i stedet ønsker å kjøre Ubuntu og Windows parallelt, der Ubuntu bare er et vindu i Windows, bruk enten VirtualBox, VMWare Player eller den kommersielle VMWare Fusion, se nedenfor.

Les mer om Wubi på Wubis FAQ.

Mac

Skal du kjøre Ubuntu på en Mac anbefaler vi å ha Ubuntu i et eget vindu (såkalt virtuell maskin), muliggjort ved VirtualBox, VMWare Player eller den kommersielle VMWare Fusion. Med disse verktøyene kan du også kjøre Windows i et eget vindu. Se artikkelen om VirtualBox for hvordan du installerer og setter VirtualBox opp i Mac OS X. Det er også en foreløpig beskrivelse av hvordan sette opp VMWare Fusion på Mac. Normalt virker VirtualBox helt fint, men noen få har hatt problemer med at Mac-tastaturet ikke virker godt nok i Ubuntu, og da kan VMWare Player eller Fusion være bedre alternativ.

Installasjon av Python og SciTools

Ubuntu

Hvis du har en nyere versjon av Ubuntu (Lucid Lynx eller nyere) er pakkene du trenger allerede tilgjengelig, og det skal holde å skrive:

sudo apt-get update
sudo apt-get install python-scitools python-matplotlib dvipng gnuplot gnuplot-x11 python-gnuplot

Test at scitools virker ved å starte et Python-shell i et terminalvidu (skriv bare python eller ipython) og gi følgende interaktive kommandoer:

from scitools.std import * 
x = linspace(0, 3*pi, 101)
y = sin(x)
plot(x, y)

Har du problemer, kontakt Studielaben på Institutt for informatikk (Ole-Johan Dahls hus) eller gruppelæreren. Husk å ta med PC og ha demonstrasjonen over klar med alle feilmeldinger lett tilgjengelig på skjermen.

SciTools kan bruke ulike programmer for å lage plot. Hvilket program som brukes, styres i konfigurasjonsfilen. Du kan laste ned denne filen og lagre den under navnet .scitools.cfg (merk punktum i starten av navnet) i din hjemmekatalog. En linje i .scitools.cfg styer plotteprogrammet som brukes. Du kan f.eks. endre fra

backend = matplotlib

til

backend = gnuplot

Hvis det er problemer med plotting, noe det ofte kan være, vil denne endringen kunne hjelpe.


Manuell installasjon

Om du ikke vil kjøre Ubuntu, er det mulig å installere hvert enkelt pakke manuelt. Programvaren man trenger i INF1100 dekkes av en serie programvarekomponenter som må lastes ned og installeres hver for seg - i riktig rekkefølge. Ideelt sett skulle all programvare vi bruker i INF1100 og andre kurs vært pakket sammen i en .exe-fil (for Windows) eller en .dmg-fil (for Mac), og så kunne man dobbeltklikke denne filen for å installere alt på en gang. Det viser seg å være altfor ressurskrevende å støtte og vedlikeholde slike kurs-spesifikke pakker med programvare for Windows og Mac, og derfor må man selv manuelt installere de ulike komponentene man trenger med mindre man følger Ubuntu-veiledningene ovenfor.  Som nevnt anbefales Ubuntu som plattform til alle som ikke er helt med i installasjonsbeskrivelsene under (eller sagt kortere: vet du ikke hva kompilering, linking, PATH og PYTHONPATH er, så installer og bruk Ubuntu!).

Følgende programvare må installeres for INF1100:

Vi beskriver kort hvordan installasjonen bør gjøres på Windows og Mac.

Windows

I prinsippet laster du ned .exe filer og dobbeltklikker disse - i den rekkefølge programvarekomponentene er listet over. For å kjøre programmet python fra DOS-promptet, hvilket du må i INF1100, må miljøvariabelen ("environment variable") PATH inneholde rotkatalogen der Python ble installert på maskinen (f.eks. C:\python26, men dette må du sjekke nøye). Tilsvarende må katalogen der den eksekverbare filen for Gnuplot ligger, også finnes i PATH variabelen. Du setter PATH manuelt ved hjelp av systemprogramvare. numpy vil forsøke å legge seg slik at Python vet hvor den er, men det avhenger av rettigheter på systemet. Det kan tenkes du må legge rotkatalogen til numpy inn i miljøvariabelen PYTHONPATH, akkurat som når du legger til kataloger der du har dine egne moduler (se kapittel 3 i boka). Når du kjører "python setup.py install" (f.eks. for scitools), så krever dette også at du har rettigheter for å installere programvare i systemkataloger. Det er vanskelig å få all Windows programvare til å spille uten at du har innsikt i hvordan Windows installerer og hvordan du må oppdatere PATH og PYTHONPATH.

Mac

Selv om det finnes .dmg filer for de fleste programvarekomponenter til INF1100, er det vår erfaring at det kan oppstå problemer hvis man bruker disse ferdigkompilerte filene. Vi anbefaler at man laster ned tarfiler (.tar.gz, .tgz), pakker dem ut i et terminalvindu med tar og følger instruksjonene i INSTALL eller README filene. Du må installere Xcode først slik at du har C og Fortran kompilatorer siden disse trengs for å bygge numpy og Gnuplot. Du bør ha solid erfaring med kompilering og linking, samt sette miljøvariable som PATH og PYTHONPATH, i .bashrc filen, før du begir deg ut på å installere programvaren på Mac.

Fink på Mac OS X

Om du kjører Mac OS X og har Fink installert, vil følgende kommando installere all nødvendig programvare unntatt SciTools:

fink install python27 scientificpython scipy-py27 gnuplot gnuplot-py27 matplotlib-py27 ipython-py27 sympy-py27

SciTools installeres i henhold til installasjonveiledningene til SciTools (se Sources-avsnittet). Vi anbefaler ikke å bruke Fink med mindre du har tidligere erfaring med dette verktøyet. Et nyere alternativ er Homebrew. Problemer med inkompatible versjoner oppstår fort med begge verktøyene, så det er viktig med god forståelse for pakkefilosofien i Fink eller Homebrew.

Problemer med manglende moduler

Oppstår som regel på grunn av at det brukes en noe eldre python-versjon som ikke har modulene installert. Er du på UiOs maskiner må du bruke den lokale installasjonen på INF1100, noe du oppnår ved å skrive følgende linje

export PATH=~inf1100/software/install/bin:$PATH

nederst i din .bashrc fil (logg ut og inn igjen). Når du da skriver python, får du en versjon som har alle de nødvendige pakkene for INF1100 og senere kurs.

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy