Kjente problemer med Spyder

Mange bruker Spyder til programmeringen i IN1900. Inntrykket v?rt er at det fungerer fint til det aller meste, men vi f?r en del tilbakemeldinger om ting som ikke fungerer. Noen av disse feilmeldingene skyldes nok rene "brukerfeil" eller det kan v?re noe feil med en bestemt installasjon av Spyder, men andre er mer generelle. De fleste problemene vi h?rer om er knyttet enten programmer som skal ha bruker-input eller til animasjoner i matplotlib. En mulig l?sning er ? kj?re akkurat disse programmene i terminalvinduet, men det skal ogs? v?re mulig ? l?se problemene i Spyder. Her er noen av de vanligste feilene og hvordan de kan l?ses.

Kommandolinjeargumenter

Vi f?r mange meldinger om at det ikke fungerer ? bruke kommandolinjeargumenter i Spyder. Dette skal virke, men man m? kj?re programmet fra iPython terminal-panelet. (Vanligvis plassert nederst til h?yre i Spyder-vinduet). Siden dette er et iPython-vindu kj?rer man programmet med run myprog.py. (Ikke python myprog.py som brukes i det vanlige terminalvinduet) De fleste andre kommandoer virker p? samme m?te som i terminalen; cd, ls, etc. Hvis man kj?rer programmet p? denne m?ten skal det fungere fint ? sende med kommandolinjeargumenter p? vanlig m?te:

run myprog.py arg1 arg2 ...

Dette er testet og fungerer fint i Spyder versjon 5.1.5 (Python 3.9) p? Mac. Send gjerne en mail til sundnes@ifi.uio.no hvis du opplever at det ikke fungerer p? din maskin.

Bruk av funksjonen input()

Noen har opplevd at funksjonen input() ikke fungerer i Spyder. Dette er ogs? noe som skal fungere fint, uansett om man kj?rer programmet fra ipython-terminalen eller med "play"-knappen i verkt?ylinjen. Etter litt googling har jeg funnet ut at det er et kjent problem, og skal v?re en bug i en spesifikk versjon i Spyder. Det skal kunne l?ses ved ? oppgradere Spyder, og det er testet og fungerer fint i Spyder versjon 5.1.5 (Python 3.9) p? Mac. Send gjerne mail til sundnes@ifi.uio.no hvis det ikke virker p??din maskin, og det ikke hjelper ??oppdatere Spyder.

Animasjoner med matplotlib

Animasjoner med matplotlib virker ikke med standard instillinger i Python. Kodene fra forelesningene uke 38 er lagt ut her, og kan kj?res i Spyder p? vanlig m?te, f.eks.:

run animation_v1.py

Problemet med dette er at med vanlige innstillinger i Spyder f?r man bare opp ett enkelt plott, og ikke en animasjon. For ? vise animasjonen m? man endre innstillingene for hvordan grafikk vises. P? Mac gj?res det ved ? ?pne Preferences, velge "IPython console" fra menyen, deretter fanen "Graphics", og s? velge "Automatic" som Graphics Backend. Default-valget er "Inline" som viser plott som en del av iPython-vinduet og ikke kan vise animasjoner. Denne korte filmen viser et skjermbilde av de riktige innstillingene: Grafikk-innstillinger for Spyder (Mac)