{"id":4076,"date":"2023-07-18T09:18:54","date_gmt":"2023-07-18T09:18:54","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=4076"},"modified":"2023-07-26T14:44:58","modified_gmt":"2023-07-26T14:44:58","slug":"whats-the-difference-between-micropython-circuitpython-cpython-anyway","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/sv\/vad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall\/","title":{"rendered":"Vad \u00e4r egentligen skillnaden mellan CPython, MicroPython och CircuitPython?"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png\" alt=\"\" class=\"wp-image-4331\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-1024x576.png 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-300x169.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-768x432.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1-18x10.png 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>CPython, MicroPython och CircuitPython har en k\u00e4r plats i hj\u00e4rtat hos m\u00e5nga som pysslar. Men det \u00e4r inte alltid klart vad skillnaderna \u00e4r. Och om du f\u00f6r f\u00f6rsta g\u00e5ngen h\u00e5ller p\u00e5 med mikrokontroller kan dessa skillnader spela en viktig roll f\u00f6r att f\u00f6rst\u00e5 vad som \u00e4r fel med din kod.<\/p>\n\n\n\n<p>S\u00e5 i den h\u00e4r artikeln kommer jag att f\u00f6rklara vad dessa tre implementeringar av Python \u00e4r och hur de j\u00e4mf\u00f6r och kontrasterar.<\/p>\n\n\n\n<p>Det \u00e4r viktigt att komma ih\u00e5g att Python \u00e4r b\u00e5de ett spr\u00e5k <em>och<\/em> ett program. I detta sammanhang \u00e4r implementeringen det program som tolkar och exekverar Python-koden.<\/p>\n\n\n\n<p>Vi pratar allts\u00e5 mest om tre program (som inkluderar runtime-milj\u00f6er, standardbibliotek och andra verktyg) som kan k\u00f6ra Python-kod. S\u00e5 l\u00e5t oss b\u00f6rja med referensprogrammet - CPython.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CPython<\/h1>\n\n\n\n<p>CPython \u00e4r den standardiserade och mest anv\u00e4nda implementeringen av programmeringsspr\u00e5ket Python. N\u00e4r man talar om Python menar man vanligtvis Python som k\u00f6rs p\u00e5 CPython.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg\" alt=\"\" class=\"wp-image-4233\" width=\"577\" height=\"384\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1024x683.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-300x200.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-768x512.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-1536x1024.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-2048x1365.jpg 2048w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/pexels-realtoughcandycom-11035474-18x12.jpg 18w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n<\/div>\n\n\n<p>F\u00f6ga f\u00f6rv\u00e5nande \u00e4r det skrivet i C (d\u00e4rav \"C\") och fungerar som referensimplementering f\u00f6r Python-spr\u00e5ket. Om du vill ha alla de smutsiga detaljerna kan du <a href=\"https:\/\/docs.python.org\/3\/c-api\/intro.html\">kolla in CPythons dokumentation h\u00e4r<\/a>.<\/p>\n\n\n\n<p>CPython tolkar och k\u00f6r Python-kod och tillhandah\u00e5ller Pythons k\u00e4rnfunktioner och egenskaper. Och eftersom det \u00e4r det mest anv\u00e4nda har det ocks\u00e5 tillg\u00e5ng till det mest omfattande ekosystemet av bibliotek och paket, inklusive bibliotek som NumPy, Django, Flask, TensorFlow, etc.<\/p>\n\n\n\n<p>CPython har ocks\u00e5 en runtime-milj\u00f6 med dynamisk minneshantering (inklusive automatisk minnesallokering genom referensr\u00e4kning samt garbage collection).<\/p>\n\n\n\n<p>N\u00e4r det g\u00e4ller felhantering ger CPython dig m\u00f6jlighet att hantera fel och undantag genom try-except-block.<\/p>\n\n\n\n<p>Den har naturligtvis ocks\u00e5 en inbyggd debugger-modul, <code data-no-translation=\"\">pdb<\/code>, som st\u00f6der brytpunkter och single stepping. Du kan testa det genom att k\u00f6ra:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"import pdb; pdb.set_trace()\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Kopia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">; <\/span><span style=\"color: #8FBCBB\">pdb<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">set_trace<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Slutligen anv\u00e4nder CPython ett Global Interpreter Lock (GIL), som endast till\u00e5ter en huvudtr\u00e5d att exekvera Python-bytecode inom en enda process. Med andra ord st\u00f6der CPython asynkron programmering, men inte parallell programmering. <em>Mer om Async- och parallellprogrammering i ett kommande inl\u00e4gg!<\/em><\/p>\n\n\n\n<p>Vissa andra implementeringar anv\u00e4nder inte GIL s\u00e5 att de kan erbjuda olika metoder f\u00f6r samtidighet och parallellism. <\/p>\n\n\n\n<p>Jython k\u00f6rs t.ex. p\u00e5 Java Virtual Machine. <\/p>\n\n\n\n<p>IronPython k\u00f6rs p\u00e5 .NET. <\/p>\n\n\n\n<p>Och PyPy k\u00f6rs p\u00e5 Software Transactional Memory.<\/p>\n\n\n\n<p>CPython, MicroPython och CircuitPython k\u00f6rs dock alla med GIL p\u00e5 plats.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">MicroPython<\/h1>\n\n\n\n<p>Till skillnad fr\u00e5n CPython, som \u00e4r utformat f\u00f6r allm\u00e4nna \u00e4ndam\u00e5l (station\u00e4ra datorer, servrar, inbyggda system etc.), \u00e4r MicroPython en implementering av Python som \u00e4r s\u00e4rskilt optimerad f\u00f6r mikrokontroller (som Pico!) och inbyggda system.<\/p>\n\n\n\n<p>Det \u00e4r v\u00e4rt att n\u00e4mna att MicroPython ibland skrivs som uPython, p\u00e5 grund av den grekiska bokstaven \u03bc (\"mu\", som i den f\u00f6rsta bokstaven i \"mikr\u00f3s\").<\/p>\n\n\n\n<p>MicroPython kr\u00e4ver d\u00e4rmed inget operativsystem, du kan k\u00f6ra det effektivt <em>som <\/em>operativsystemet p\u00e5 en mikrokontroller.<\/p>\n\n\n\n<p>F\u00f6r att g\u00f6ra det f\u00f6rlitar sig m\u00e4nniskor vanligtvis p\u00e5 <a href=\"https:\/\/thonny.org\/\">Thonny IDE<\/a>som har ett antal mycket anv\u00e4ndbara verktyg f\u00f6r hantering av MicroPython.<\/p>\n\n\n\n<p>MicroPython \u00e4r fortfarande skrivet i C, men handlar om att tillhandah\u00e5lla en kompakt runtime f\u00f6r mindre kraftfulla enheter - s\u00e5 det anv\u00e4nder mindre minne och tillhandah\u00e5ller egentligen bara specifika moduler och bibliotek f\u00f6r inbyggda system, t.ex. <code data-no-translation=\"\">machine<\/code>, <code data-no-translation=\"\">utime<\/code>, och <code data-no-translation=\"\">network<\/code>.<\/p>\n\n\n\n<p>Om du letar efter n\u00e5gra fantastiska MicroPython-bibliotek kan du kolla in <a href=\"https:\/\/awesome-micropython.com\/\">Fantastisk MicroPython<\/a>.<\/p>\n\n\n\n<p>CPython anv\u00e4nder referensr\u00e4kning som sin huvudsakliga garbage collection-algoritm, men <a href=\"https:\/\/docs.micropython.org\/en\/latest\/develop\/memorymgt.html\">MicroPython anv\u00e4nder Mark and Sweep som huvudalgoritm f\u00f6r skr\u00e4psamling<\/a> att hantera minnet.<\/p>\n\n\n\n<p>Det skapades av Damien George f\u00f6r 10 \u00e5r sedan och om du vill h\u00f6ra honom prata om det kan du kolla in den h\u00e4r f\u00f6rel\u00e4sningen:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=WI-nTf5iM84\" title=\"Anv\u00e4nda MicroPython i naturen\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/WI-nTf5iM84?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>MicroPython har allts\u00e5 inte alla de funktioner som standardbiblioteket i CPython har.<\/p>\n\n\n\n<p>Till skillnad fr\u00e5n CPython har MicroPython inget inbyggt st\u00f6d f\u00f6r <code data-no-translation=\"\">pdb<\/code> som fels\u00f6kningsverktyg. Om du anv\u00e4nder MicroPython kommer du ist\u00e4llet att beh\u00f6va f\u00f6rlita dig p\u00e5 andra tekniker som utskriftssatser.<\/p>\n\n\n\n<p>Om du \u00e4r intresserad av att anv\u00e4nda externa debuggers kan du kolla in <a href=\"https:\/\/github.com\/bobveringa\/mpdb\">denna mycket coola MicroPython Debugger p\u00e5 GitHub<\/a>. Syftet \u00e4r att tillhandah\u00e5lla <code data-no-translation=\"\">pdb<\/code> funktioner f\u00f6r MicroPython.<\/p>\n\n\n\n<p>Om du \u00e4r intresserad av att kolla in MicroPython-dokumentationen f\u00f6r mer djupg\u00e5ende saker kan du f\u00f6lja <a href=\"https:\/\/docs.micropython.org\/en\/latest\/index.html\">denna l\u00e4nk f\u00f6r att se alla detaljer<\/a>.<\/p>\n\n\n\n<p>MicroPython \u00e4r allts\u00e5 en mer begr\u00e4nsad implementering av CPython, men det \u00e4r fortfarande fantastiskt kraftfullt och ofta det perfekta verktyget f\u00f6r m\u00e5nga projekt.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">CircuitPython<\/h1>\n\n\n\n<p>Ett annat bra verktyg \u00e4r CircuitPython.<\/p>\n\n\n\n<p>CircuitPython \u00e4r en f\u00f6rgrening av MicroPython associerad med <a href=\"https:\/\/www.adafruit.com\/\">Adafruit<\/a> och syftar till att vara mer nyb\u00f6rjarv\u00e4nligt (huruvida MicroPython inte \u00e4r tillr\u00e4ckligt nyb\u00f6rjarv\u00e4nligt \u00e4r verkligen en fr\u00e5ga som kan diskuteras).<\/p>\n\n\n\n<p>Faktum \u00e4r att skillnaderna mellan MicroPython och CircuitPython \u00e4r extremt sm\u00e5.<\/p>\n\n\n\n<p>En anm\u00e4rkningsv\u00e4rd skillnad \u00e4r att CircuitPython \u00e4r utformat f\u00f6r att filer ska flyttas till kortet genom att visas som en extern disk (precis som en USB skulle g\u00f6ra). Tanken \u00e4r att du inte beh\u00f6ver ladda upp en fil via Thonny (\u00e4ven om du fortfarande kan g\u00f6ra det).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png\" alt=\"\" class=\"wp-image-4234\" width=\"591\" height=\"485\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28.png 797w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-300x246.png 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-768x630.png 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-18-10-45-28-15x12.png 15w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\n<\/div>\n\n\n<p>CircuitPython har till exempel specifika bibliotek, s\u00e5som <code data-no-translation=\"\">adafruit_neopixel<\/code>, <code data-no-translation=\"\">adafruit_bmp280<\/code>, och <code data-no-translation=\"\">adafruit_dotstar<\/code>, som alla \u00e4r inriktade p\u00e5 specifik h\u00e5rdvara.<\/p>\n\n\n\n<p>N\u00e5got som verkligen utm\u00e4rker CircuitPython \u00e4r den livliga gemenskap som Adafruit har skapat kring det. Du kan kolla in CircuitPython <a href=\"https:\/\/forums.adafruit.com\/viewforum.php?f=60\">forum<\/a> och <a href=\"https:\/\/adafru.it\/discord\">diskord<\/a> f\u00f6r att se sj\u00e4lv. (Jag b\u00f6r p\u00e5peka att MicroPython ocks\u00e5 har en <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">forum<\/a> och en <a href=\"https:\/\/discord.com\/invite\/RB8HZSAExQ\">diskord<\/a>, om \u00e4n mycket mindre frekvent, eftersom de flesta MicroPython-diskussioner sker p\u00e5 <a href=\"https:\/\/github.com\/orgs\/micropython\/discussions\">GitHub<\/a>).<\/p>\n\n\n\n<p>Om du vill l\u00e4ra dig mer om CircuitPython och dess skillnader j\u00e4mf\u00f6rt med MicroPython (och CPython) kan du kolla in <a href=\"https:\/\/docs.circuitpython.org\/en\/latest\/docs\/index.html#\">dess dokumentationssida h\u00e4r<\/a>. \u00c4ven dess dokumentation liknar MicroPython-dokumentationen!<\/p>\n\n\n\n<p>Annars kan du kolla in den h\u00e4r videon fr\u00e5n Adafruit:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" hcb-fetch-image-from=\"https:\/\/www.youtube.com\/watch?v=rN7kvWuAt7k\" title=\"CircuitPython: Python p\u00e5 h\u00e5rdvara (Dave Astels)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rN7kvWuAt7k?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Om du k\u00e4nner till n\u00e5gra andra intressanta skillnader, l\u00e5t oss veta det i kommentarerna nedan!<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fvad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Dela p\u00e5 X\" aria-label=\"Dela p\u00e5 X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fvad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall%2F\" title=\"Dela p\u00e5 Facebook\" aria-label=\"Dela p\u00e5 Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fvad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall%2F&text=What%E2%80%99s%20the%20difference%20between%20CPython%2C%20MicroPython%2C%20%26%20CircuitPython%20anyway%3F\" title=\"Dela p\u00e5 Telegram\" aria-label=\"Dela p\u00e5 Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">dela<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fsv%2Fvad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall%2F\" title=\"Dela p\u00e5 Reddit\" aria-label=\"Dela p\u00e5 Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">dela<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>CPython, MicroPython och CircuitPython har en k\u00e4r plats i hj\u00e4rtat hos m\u00e5nga som pysslar. Men det \u00e4r inte alltid klart vad skillnaderna \u00e4r. Och om du h\u00e5ller p\u00e5 med mikrokontroller f\u00f6r f\u00f6rsta g\u00e5ngen kan dessa skillnader spela en nyckelroll f\u00f6r att f\u00f6rst\u00e5 vad som \u00e4r upp med din kod. S\u00e5 i den h\u00e4r artikeln kommer jag att...<\/p>","protected":false},"author":2,"featured_media":4331,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1193],"tags":[1196,477,996,1200,1199,1198,1194,178,597,789,14,826,11,1195,476,187,456,1197],"class_list":["post-4076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-brython","tag-circuitpython","tag-cpython","tag-execution","tag-implementation","tag-ironpython","tag-jython","tag-memory","tag-microcontroller","tag-microcontrollers","tag-micropython","tag-optimization","tag-pico","tag-pypy","tag-python","tag-raspberry-pi","tag-raspberry-pi-projects","tag-stackless-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit<\/title>\n<meta name=\"description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/vad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What&#039;s the difference between CPython, MicroPython, &amp; CircuitPython anyway? | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"In this post, we&#039;re looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/sv\/vad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-18T09:18:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-26T14:44:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Skriven av\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"},\"wordCount\":965,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"keywords\":[\"brython\",\"circuitpython\",\"cpython\",\"execution\",\"implementation\",\"IronPython\",\"jython\",\"memory\",\"microcontroller\",\"microcontrollers\",\"microPython\",\"optimization\",\"Pico\",\"pypy\",\"python\",\"Raspberry Pi\",\"Raspberry Pi projects\",\"stackless python\"],\"articleSection\":[\"Python\"],\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\",\"name\":\"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"datePublished\":\"2023-07-18T09:18:54+00:00\",\"dateModified\":\"2023-07-26T14:44:58+00:00\",\"description\":\"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Micro-Circuit-CPython1.png\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/nl\\\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/sv\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vad \u00e4r egentligen skillnaden mellan CPython, MicroPython och CircuitPython? | PiCockpit","description":"I det h\u00e4r inl\u00e4gget tittar vi p\u00e5 vad som skiljer CPython fr\u00e5n MicroPython och b\u00e5da fr\u00e5n CircuitPython.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/picockpit.com\/raspberry-pi\/sv\/vad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall\/","og_locale":"sv_SE","og_type":"article","og_title":"What's the difference between CPython, MicroPython, & CircuitPython anyway? | PiCockpit","og_description":"In this post, we're looking at what distinguishes CPython from MicroPython and both of them from CircuitPython.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/vad-ar-skillnaden-mellan-micropython-circuitpython-cpython-i-allafall\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2023-07-18T09:18:54+00:00","article_modified_time":"2023-07-26T14:44:58+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","type":"image\/png"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Skriven av":"raspi berry","Ber\u00e4knad l\u00e4stid":"5 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"},"wordCount":965,"commentCount":0,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","keywords":["brython","circuitpython","cpython","execution","implementation","IronPython","jython","memory","microcontroller","microcontrollers","microPython","optimization","Pico","pypy","python","Raspberry Pi","Raspberry Pi projects","stackless python"],"articleSection":["Python"],"inLanguage":"sv-SE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","url":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/","name":"Vad \u00e4r egentligen skillnaden mellan CPython, MicroPython och CircuitPython? | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","datePublished":"2023-07-18T09:18:54+00:00","dateModified":"2023-07-26T14:44:58+00:00","description":"I det h\u00e4r inl\u00e4gget tittar vi p\u00e5 vad som skiljer CPython fr\u00e5n MicroPython och b\u00e5da fr\u00e5n CircuitPython.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/"]}]},{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Micro-Circuit-CPython1.png","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/nl\/wat-het-verschil-tussen-micropython-circuitpython-cpython-anyway\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/python\/"},{"@type":"ListItem","position":3,"name":"What&#8217;s the difference between CPython, MicroPython, &#038; CircuitPython anyway?"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"hallonb\u00e4r","image":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Jag \u00e4r h\u00e4r f\u00f6r att hj\u00e4lpa dig med alla dina Raspberry Pi-relaterade fr\u00e5gor och \u00e4lskar att dela med mig av nya projektid\u00e9er f\u00f6r Raspberry Pi och ge snabba tips. Sj\u00e4lvklart hj\u00e4lper jag dig ocks\u00e5 med PiCockpit och hur du kan g\u00f6ra din Raspberry Pi \u00e4nnu enklare att anv\u00e4nda med denna l\u00f6sning f\u00f6r \u00f6vervakning av Raspberry Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/sv\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/4076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/comments?post=4076"}],"version-history":[{"count":24,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"predecessor-version":[{"id":4332,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/posts\/4076\/revisions\/4332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media\/4331"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/sv\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}