{"id":120131,"date":"2013-06-24T10:19:47","date_gmt":"2013-06-24T10:19:47","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/choosing-the-right-python-integrated-development-environment\/"},"modified":"2018-03-21T22:04:04","modified_gmt":"2018-03-21T22:04:04","slug":"choosing-the-right-python-integrated-development-environment","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment","title":{"rendered":"Choosing the right Python Integrated Development Environment"},"author":5121,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[],"tags":[24341],"industry":[],"product":[36561,36991,36601],"class_list":["post-120131","blog","type-blog","status-publish","format-standard","hentry","tag-python","product-arcgis-pro","product-arcgis-desktop","product-developers"],"acf":{"short_description":"This blog is solely intended to be used as a reference to learn which Python integrated development environment (IDE) might be best for y...","flexible_content":[{"acf_fc_layout":"content","content":"<p>This blog is solely intended to be used as a reference to learn which Python integrated development environment (IDE) might be best for you or your organization. Since there are many IDEs to choose from, picking the right one can very well depend on the platform you use (Windows or Linux), specific features, or the cost. However, one thing is true, whether you are writing a single script or many scripts for a large project, a Python IDE will accelerate your development time and it\u2019s strongly recommended you use one.<\/p>\n<p>At a minimum, a good IDE will have the following features:<\/p>\n<ul>\n<li>An editor with code completion<\/li>\n<li>Syntax highlighting<\/li>\n<li>Code templates<\/li>\n<li>A code explorer for functions and classes<\/li>\n<li>Tools for unit testing and debugging<\/li>\n<li>Source control support<\/li>\n<\/ul>\n<p><strong>What Python IDEs are used at Esri?<\/strong><br \/>\nAt Esri, our preference varies from person to person. Some of our Windows only users are choosing PyScripter, a free, open-source Python IDE, while others use Wing IDE Professional or PyCharm because they have support on Windows and Linux.<\/p>\n<p><strong>Reviews of Python IDEs<\/strong><br \/>\nHere are some recommended articles providing reviews of various Python IDEs. It is encouraged to test drive at least a couple IDEs to find the best one for you.<\/p>\n<p>From <a href=\"http:\/\/pythoncentral.org\/\" target=\"_blank\">Python Central<\/a>:<\/p>\n<ul>\n<li><a href=\"http:\/\/pythoncentral.org\/best-ides-for-python-development\/\" target=\"_blank\">Best IDEs for Python Development<\/a><\/li>\n<li><a href=\"http:\/\/pythoncentral.org\/the-best-python-ides-you-can-use-for-development\/\" target=\"_blank\">The best Python IDEs you can use for development<\/a><\/li>\n<\/ul>\n<p>From StackOverflow:<\/p>\n<ul>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/81584\/what-ide-to-use-for-python\" target=\"_blank\">What IDE to use for Python?<\/a><\/li>\n<\/ul>\n<p>One IDE grabbing our attention at Esri is <a href=\"https:\/\/code.google.com\/p\/pyscripter\/\" target=\"_blank\">PyScripter<\/a>. It is not listed in the reviews above, however, if you are a windows developer, we recommend giving this IDE a trial run. It is free with 32bit and 64bit flavors and includes most features available in a commercial IDE.<\/p>\n<p>Here is a short review of PyScripter by techworld:<br \/>\n<a href=\"http:\/\/review.techworld.com\/applications\/3238828\/pyscripter-review\/\">http:\/\/review.techworld.com\/applications\/3238828\/pyscripter-review\/<\/a><\/p>\n<p>For a complete listing of Python IDEs:<br \/>\n<a href=\"http:\/\/wiki.python.org\/moin\/IntegratedDevelopmentEnvironments\">http:\/\/wiki.python.org\/moin\/IntegratedDevelopmentEnvironments<\/a><\/p>\n"}],"authors":[{"ID":5121,"user_firstname":"","user_lastname":"","nickname":"jpardy84","user_nicename":"jpardy84","display_name":"jpardy","user_email":"jpardy@esri.com","user_url":"","user_registered":"2018-03-02 00:16:49","user_description":"","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}]},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Choosing the right Python Integrated Development Environment<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Choosing the right Python Integrated Development Environment\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-03-21T22:04:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\"},\"author\":{\"name\":\"jpardy\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/424b923d0991fee8d20fd49f9912af94\"},\"headline\":\"Choosing the right Python Integrated Development Environment\",\"datePublished\":\"2013-06-24T10:19:47+00:00\",\"dateModified\":\"2018-03-21T22:04:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"python\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\",\"name\":\"Choosing the right Python Integrated Development Environment\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2013-06-24T10:19:47+00:00\",\"dateModified\":\"2018-03-21T22:04:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Choosing the right Python Integrated Development Environment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/424b923d0991fee8d20fd49f9912af94\",\"name\":\"jpardy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=96&d=blank&r=g\",\"caption\":\"jpardy\"},\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Choosing the right Python Integrated Development Environment","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:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment","og_locale":"en_US","og_type":"article","og_title":"Choosing the right Python Integrated Development Environment","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-03-21T22:04:04+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment"},"author":{"name":"jpardy","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/424b923d0991fee8d20fd49f9912af94"},"headline":"Choosing the right Python Integrated Development Environment","datePublished":"2013-06-24T10:19:47+00:00","dateModified":"2018-03-21T22:04:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["python"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment","name":"Choosing the right Python Integrated Development Environment","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2013-06-24T10:19:47+00:00","dateModified":"2018-03-21T22:04:04+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/\/uncategorized\/choosing-the-right-python-integrated-development-environment#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Choosing the right Python Integrated Development Environment"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/424b923d0991fee8d20fd49f9912af94","name":"jpardy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef5394b9654988f205fc1c43beebaef1eea90faf08e750f1b4d89434fc733f9b?s=96&d=blank&r=g","caption":"jpardy"},"url":""}]}},"text_date":"June 24, 2013","author_name":"jpardy","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Pro","tag_data":[{"term_id":24341,"name":"python","slug":"python","term_group":0,"term_taxonomy_id":24341,"taxonomy":"post_tag","description":"","parent":0,"count":171,"filter":"raw"}],"category_data":[],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2035,"filter":"raw"},{"term_id":36991,"name":"ArcMap","slug":"arcgis-desktop","term_group":0,"term_taxonomy_id":36991,"taxonomy":"product","description":"","parent":36981,"count":325,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":761,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/120131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/5121"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=120131"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/120131\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=120131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=120131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=120131"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=120131"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=120131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}