{"id":21224,"date":"2020-08-14T11:08:47","date_gmt":"2020-08-14T18:08:47","guid":{"rendered":"https:\/\/careerkarma.com\/blog\/?p=21224"},"modified":"2023-12-01T03:57:53","modified_gmt":"2023-12-01T11:57:53","slug":"python-modulenotfounderror","status":"publish","type":"post","link":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/","title":{"rendered":"Python ModuleNotFoundError Solution"},"content":{"rendered":"\n<p>Modules are integral to the <a href=\"https:\/\/careerkarma.com\/blog\/python-projects-beginners\/\">Python<\/a> language. Modules let you break down your code into multiple files. This helps maintain the readability and maintainability of a codebase.<br><\/p>\n\n\n\n<p>It\u2019s common to encounter a ModuleNotFoundError when working with modules. In this guide, we talk about what this error means and why it is raised. We walk through three possible solutions to help you overcome this error.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is a ModuleNotFoundError?<\/h2>\n\n\n\n<p>A ModuleNotFoundError is raised when Python cannot successfully <a href=\"https:\/\/careerkarma.com\/blog\/python-import\/\">import a module<\/a>.<br><\/p>\n\n\n\n<p>The full error message looks something like this:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>ModuleNotFoundError: No module named 'your_module_name'<\/pre><\/div>\n\n\n\n<p>This error is encountered when you forget to install a dependency for a project. Because you haven\u2019t installed the dependency, Python does not know where to locate it.<br><\/p>\n\n\n\n<p>ModuleNotFoundErrors come up in <a href=\"https:\/\/careerkarma.com\/blog\/python-modules\/\">user-defined modules<\/a>. Often, this error is caused by importing files relatively when doing so is not allowed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example Scenario: Dependency Not Installed<\/h2>\n\n\n\n<p>Take a look at a file called app.py that uses the BeautifulSoup package:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>from bs4 import BeautifulSoup\n\nurl = &quot;https:\/\/careerkarma.com&quot;\n\nprint(url)<\/pre><\/div>\n\n\n\n<p>Let\u2019s try to run this file:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Traceback (most recent call last):\n  File &quot;app.py&quot;, line 1, in &lt;module&gt;\n\tfrom bs4 import BeautifulSoup\nModuleNotFoundError: No module named 'bs4'<\/pre><\/div>\n\n\n\n<p>It looks like Python 3 cannot find the module \u201cbs4\u201d. Because bs4 is an external package, the cause of this error should be that we haven&#8217;t installed the module.<br><\/p>\n\n\n\n<p>To solve this error, we install the bs4 module:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>pip3 install BeautifulSoup4<\/pre><\/div>\n\n\n\n<p>This code installs the module required for our project.<br><\/p>\n\n\n\n<p><strong>Note: You should ensure you use the right package manager to install a module. You cannot install modules for <\/strong><a href=\"https:\/\/careerkarma.com\/blog\/python-2-vs-python-3\/\"><strong>Python 3<\/strong><\/a><strong> using pip and modules for Python 2 using pip3. If you do, the Python interpreter may not recognize that you have installed a module.<\/strong><br><\/p>\n\n\n\n<p>Run our code again:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>https:\/\/careerkarma.com<\/pre><\/div>\n\n\n\n<p>Our code works!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example Scenario: User-Defined Modules<\/h2>\n\n\n\n<p>There are two types of imports in Python: absolute and relative.<br><\/p>\n\n\n\n<p>Absolute imports are where you import something on sys.path, like a built-in package. Relative imports are where you import something that is relative to the program that you are writing.<br><\/p>\n\n\n\n<p>Relative imports must be part of a package otherwise they cannot be run.<br><\/p>\n\n\n\n<p>Next, we write a program that prints out a list of cakes to the console. First, we create a directory structure for our project:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>app.py\nconfig.py\ncakes\/\n\tmain.py<\/pre><\/div>\n\n\n\n<p>We start by declaring a <a href=\"https:\/\/careerkarma.com\/blog\/python-array\/\">list<\/a> of cakes in our \u201cconfig.py\u201d file:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>cake_list = [&quot;Double Chocolate Gateau&quot;, &quot;Victoria Sponge&quot;, &quot;Lemon Cake&quot;]<\/pre><\/div>\n\n\n\n<p>Next, we write our \u201cmain.py\u201d file which prints these cakes to the console:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>def print_cakes(cakes):\n\tfor c in cakes:\n\t\tprint(c)<\/pre><\/div>\n\n\n\n<p>Finally, we write our main program in app.py which executes our module:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>import main\nimport config\n\nmain.print_cakes(config.cake_list)<\/pre><\/div>\n\n\n\n<p>This code runs the <code>print_cakes()<\/code> <a href=\"https:\/\/careerkarma.com\/blog\/python-functions\/\">function<\/a> inside the \u201cmain.py\u201d file. We import \u201cmain\u201d and \u201cconfig\u201d so that we can access our <code>print_cakes()<\/code> function and our list of cakes. This list of cakes is passed through our <code>print_cakes()<\/code> function.<br><\/p>\n\n\n\n<p>Run our code and see what happens:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Traceback (most recent call last):\n  File &quot;app.py&quot;, line 2, in &lt;module&gt;\n\timport config\nModuleNotFoundError: No module named 'config'<\/pre><\/div>\n\n\n\n<p>This error occurs because we have not imported our files successfully.<br><\/p>\n\n\n\n<p>\u201cmain\u201d is in the \u201ccakes\u201d module. It is not in our current working directory. We know this because \u201cmain.py\u201d is in the \u201ccakes\u201d folder. To access this module, we need to import it relatively:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>from cakes import main\nimport config\n\nmain.print_cakes(config.cake_list)<\/pre><\/div>\n\n\n\n<p>Instead of importing \u201cmain\u201d directly, we import \u201cmain\u201d from the \u201ccakes\u201d module. Let\u2019s see what happens when we run our code again:<\/p>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre>Double Chocolate Gateau\nVictoria Sponge\nLemon Cake<\/pre><\/div>\n\n\n\n<p>Our code prints out the list of cakes. We have imported \u201cmain\u201d from \u201ccakes\u201d and resolved our ModuleNotFoundError error.<br><\/p>\n\n\n\n<p>Notice that we import the \u201cconfig\u201d module directly into our code. This is because \u201cconfig\u201d is in the same folder as the program that we are executing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>The ModuleNotFoundError is raised when Python cannot locate an error. The most common cause of this error is forgetting to install a module or importing a module incorrectly.<br><\/p>\n\n\n\n<p>If you are working with an external module, you must check to make sure you have installed it. If you are writing a user-defined module, you must double-check your import statements and ensure that they all import files relatively.<br><\/p>\n\n\n\n<p>Now you\u2019re ready to solve the ModuleNotFoundError Python error like an expert!<\/p>\n","protected":false},"excerpt":{"rendered":"Modules are integral to the Python language. Modules let you break down your code into multiple files. This helps maintain the readability and maintainability of a codebase. It\u2019s common to encounter a ModuleNotFoundError when working with modules. In this guide, we talk about what this error means and why it is raised. We walk through&hellip;","protected":false},"author":240,"featured_media":21225,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16578],"tags":[],"class_list":{"0":"post-21224","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-python"},"acf":{"post_sub_title":"","sprint_id":"","query_class":"Python","school_sft":"","parent_sft":"","school_privacy_policy":"","has_review":null,"is_sponser_post":"","is_guest_post":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python ModuleNotFoundError Solution | Career Karma<\/title>\n<meta name=\"description\" content=\"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python ModuleNotFoundError Solution\" \/>\n<meta property=\"og:description\" content=\"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/\" \/>\n<meta property=\"og:site_name\" content=\"Career Karma\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/careerkarmaapp\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-14T18:08:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-01T11:57:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1020\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"James Gallagher\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@career_karma\" \/>\n<meta name=\"twitter:site\" content=\"@career_karma\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"James Gallagher\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/\"},\"author\":{\"name\":\"James Gallagher\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"headline\":\"Python ModuleNotFoundError Solution\",\"datePublished\":\"2020-08-14T18:08:47+00:00\",\"dateModified\":\"2023-12-01T11:57:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/\"},\"wordCount\":626,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg\",\"articleSection\":[\"Python\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/\",\"name\":\"Python ModuleNotFoundError Solution | Career Karma\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg\",\"datePublished\":\"2020-08-14T18:08:47+00:00\",\"dateModified\":\"2023-12-01T11:57:53+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\"},\"description\":\"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#primaryimage\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/08\\\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg\",\"width\":1020,\"height\":680},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python-modulenotfounderror\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python\",\"item\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/python\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python ModuleNotFoundError Solution\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/\",\"name\":\"Career Karma\",\"description\":\"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/#\\\/schema\\\/person\\\/e79364792443fbff794a144c67ec8e94\",\"name\":\"James Gallagher\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/01\\\/james-gallagher-150x150.jpg\",\"caption\":\"James Gallagher\"},\"description\":\"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.\",\"url\":\"https:\\\/\\\/careerkarma.com\\\/blog\\\/author\\\/jamesgallagher\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python ModuleNotFoundError Solution | Career Karma","description":"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.","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:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/","og_locale":"en_US","og_type":"article","og_title":"Python ModuleNotFoundError Solution","og_description":"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.","og_url":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/","og_site_name":"Career Karma","article_publisher":"http:\/\/facebook.com\/careerkarmaapp","article_published_time":"2020-08-14T18:08:47+00:00","article_modified_time":"2023-12-01T11:57:53+00:00","og_image":[{"width":1020,"height":680,"url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg","type":"image\/jpeg"}],"author":"James Gallagher","twitter_card":"summary_large_image","twitter_creator":"@career_karma","twitter_site":"@career_karma","twitter_misc":{"Written by":"James Gallagher","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#article","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/"},"author":{"name":"James Gallagher","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"headline":"Python ModuleNotFoundError Solution","datePublished":"2020-08-14T18:08:47+00:00","dateModified":"2023-12-01T11:57:53+00:00","mainEntityOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/"},"wordCount":626,"commentCount":0,"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg","articleSection":["Python"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/","url":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/","name":"Python ModuleNotFoundError Solution | Career Karma","isPartOf":{"@id":"https:\/\/careerkarma.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#primaryimage"},"image":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#primaryimage"},"thumbnailUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg","datePublished":"2020-08-14T18:08:47+00:00","dateModified":"2023-12-01T11:57:53+00:00","author":{"@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94"},"description":"On Career Karma, learn about Python ModuleNotFoundError, how the error works, and how to solve the error.","breadcrumb":{"@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#primaryimage","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/08\/nicole-wolf-CZ9AjMGKIFI-unsplash.jpg","width":1020,"height":680},{"@type":"BreadcrumbList","@id":"https:\/\/careerkarma.com\/blog\/python-modulenotfounderror\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/careerkarma.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python","item":"https:\/\/careerkarma.com\/blog\/python\/"},{"@type":"ListItem","position":3,"name":"Python ModuleNotFoundError Solution"}]},{"@type":"WebSite","@id":"https:\/\/careerkarma.com\/blog\/#website","url":"https:\/\/careerkarma.com\/blog\/","name":"Career Karma","description":"Latest Coding Bootcamp News &amp; Career Hacks from Industry Insiders","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/careerkarma.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/careerkarma.com\/blog\/#\/schema\/person\/e79364792443fbff794a144c67ec8e94","name":"James Gallagher","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","url":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","contentUrl":"https:\/\/careerkarma.com\/blog\/wp-content\/uploads\/2020\/01\/james-gallagher-150x150.jpg","caption":"James Gallagher"},"description":"James Gallagher is a self-taught programmer and the technical content manager at Career Karma. He has experience in range of programming languages and extensive expertise in Python, HTML, CSS, and JavaScript. James has written hundreds of programming tutorials, and he frequently contributes to publications like Codecademy, Treehouse, Repl.it, Afrotech, and others.","url":"https:\/\/careerkarma.com\/blog\/author\/jamesgallagher\/"}]}},"_links":{"self":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/comments?post=21224"}],"version-history":[{"count":0,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/posts\/21224\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media\/21225"}],"wp:attachment":[{"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/media?parent=21224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/categories?post=21224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/careerkarma.com\/blog\/wp-json\/wp\/v2\/tags?post=21224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}