{"id":206,"date":"2023-08-12T21:29:00","date_gmt":"2023-08-12T20:29:00","guid":{"rendered":"https:\/\/noiseonthenet.space\/noise\/?p=206"},"modified":"2023-08-21T21:47:59","modified_gmt":"2023-08-21T20:47:59","slug":"python-tutorial-setting-up-your-environment","status":"publish","type":"post","link":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/","title":{"rendered":"Python Tutorial: Setting up your environment"},"content":{"rendered":"<img decoding=\"async\" src=\"https:\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg\" alt=\"patrick-NdNtLhq0uG4-unsplash-scaled.jpg\" \/> Photo by <a href=\"https:\/\/unsplash.com\/@pf91_photography?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Patrick<\/a> on <a href=\"https:\/\/unsplash.com\/photos\/NdNtLhq0uG4?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a>\n<div id=\"outline-container-orgc79c4f7\" class=\"outline-2\">\n<h2 id=\"orgc79c4f7\">Installing Python<\/h2>\n<div class=\"outline-text-2\" id=\"text-orgc79c4f7\">\n\n There are two main ways I reccommend to install python\n<ul class=\"org-ul\">\n \t<li>from the python site <a href=\"https:\/\/www.python.org\/\">https:\/\/www.python.org\/<\/a>\n<ul class=\"org-ul\">\n \t<li>python basic package manager is <code>pip<\/code> you can use it from any command line of your operative system<\/li>\n \t<li>when using base python I recommend to create independent <a href=\"https:\/\/docs.python.org\/3\/library\/venv.html\">virtual environments<\/a> for each project, this will help you keep track of the packages you are using and also avoid issues with multiple package versions; the following commands refer to a linux bash command line, you can find windows equivalent in the <a href=\"https:\/\/docs.python.org\/3\/library\/venv.html#creating-virtual-environments\">virtual environment documentation<\/a>\n<ol class=\"org-ol\">\n \t<li> install venv with the following command\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">pip install venv\n<\/pre>\n<\/div><\/li>\n \t<li> create a project directory and change your current directory into it\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">    <span style=\"color: #ECBE7B;\">mkdir<\/span> myproject\n    <span style=\"color: #ECBE7B;\">cd<\/span> myproject\n<\/pre>\n<\/div><\/li>\n \t<li> create a virtual environment in the project directory\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">    python -m venv .\n<\/pre>\n<\/div><\/li>\n \t<li> activate it\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">    <span style=\"color: #c678dd;\">source<\/span> bin\/activate\n<\/pre>\n<\/div><\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n \t<li>using the miniconda from Continuum <a href=\"https:\/\/docs.conda.io\/en\/latest\/miniconda.html\">https:\/\/docs.conda.io\/en\/latest\/miniconda.html<\/a>\n<ul class=\"org-ul\">\n \t<li>this package and environment manager allows you to easily create independent projects, keeping separate package environments as well as using separate python interpreters<\/li>\n \t<li>when using Miniconda I also recommend to create separate environments for each project and avoid using the <code>base<\/code> environment which hosts the package manager itself\n<ol class=\"org-ol\">\n \t<li> create a virtual environment with the python version of your choice\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">    conda create -n myenv <span style=\"color: #dcaeea;\">python<\/span>=<span style=\"color: #da8548; font-weight: bold;\">3.10<\/span>\n<\/pre>\n<\/div><\/li>\n \t<li>create your project directory and move into it<\/li>\n \t<li> activate your conda environment\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">conda activate myenv\n<\/pre>\n<\/div><\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div id=\"outline-container-org2280145\" class=\"outline-2\">\n<h2 id=\"org2280145\">Installing some useful packages for this tutorial<\/h2>\n<div class=\"outline-text-2\" id=\"text-org2280145\">\n\n One of python slogans is to be a &ldquo;Battery Included&rdquo; language: this means that a lot of interesting functionalities are installed by default.\n\nMost of this tutorial will make use of the default library; however I found some convenient libraries which are used for exercises and examples.\n<ul class=\"org-ul\">\n \t<li><a href=\"https:\/\/docs.pytest.org\/en\/7.4.x\/\">pytest<\/a> helps executing unit tests in a very convenient way<\/li>\n \t<li><code>pytest-xdist<\/code> executes many tests in parallel<\/li>\n \t<li><code>pytest-cov<\/code> creates a coverage report which is very useful<\/li>\n \t<li><a href=\"https:\/\/github.com\/palantir\/python-language-server\">python-language-server<\/a> is a <a href=\"https:\/\/microsoft.github.io\/language-server-protocol\/\">language server<\/a> which will enable your programming editor to help you with development<\/li>\n \t<li><a href=\"https:\/\/github.com\/psf\/black\">black<\/a> is a formatter, useful for mantaining a readable code style which is also <a href=\"https:\/\/en.wikipedia.org\/wiki\/Version_control\">version control<\/a> friendly<\/li>\n \t<li><a href=\"https:\/\/www.pylint.org\/\">pylint<\/a> code linter, will help you find issues in your code witout running it<\/li>\n \t<li><a href=\"https:\/\/jupyter.org\/\">jupyterlab<\/a> a great multilanguage development environment in your browser; used by Google Cloud and many others<\/li>\n<\/ul>\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">conda install pytest pytest-xdist pytest-cov <span style=\"color: #98be65;\">\\<\/span>\n    python-language-server black <span style=\"color: #98be65;\">\\<\/span>\n    pylint jupyterlab\n<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"outline-container-org03bb49f\" class=\"outline-2\">\n<h2 id=\"org03bb49f\">Installing some useful software for programming in Python<\/h2>\n<div class=\"outline-text-2\" id=\"text-org03bb49f\">\n\n Here is some other software which will help you developing in python\n<ul class=\"org-ul\">\n \t<li><a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a> free editor by Microsoft, one of the best around\n<ul class=\"org-ul\">\n \t<li><a href=\"https:\/\/code.visualstudio.com\/docs\/python\/python-tutorial\">This tutorial<\/a> will help you getting started with Visual Studio Code and python<\/li>\n<\/ul>\n<\/li>\n \t<li><a href=\"https:\/\/git-scm.com\/\">GIT<\/a> one of the most used <a href=\"https:\/\/en.wikipedia.org\/wiki\/Version_control\">version control<\/a> system, created by <a href=\"https:\/\/en.wikipedia.org\/wiki\/Linus_Torvalds\">Linus Torvalds<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div id=\"outline-container-org8ecca9f\" class=\"outline-2\">\n<h2 id=\"org8ecca9f\">Using the interactive command line (REPL)<\/h2>\n<div class=\"outline-text-2\" id=\"text-org8ecca9f\">\n\n Python provides a basic interactive command line to start with, I recommend to play with it and possibly with all of its extensions.\n\nThe command line reads the python expressions or statements, evaluates or executes them respectively and prints the result; these interactive command lines are called also Read, Eval, Print Loops (REPL) and were available since the LISP language.\n\nto start the python REPL open your command line, move into your project, activate it and type\n<div class=\"org-src-container\">\n<label class=\"org-src-name\"><em><\/em><\/label>\n<pre class=\"src src-bash\" id=\"nil\">python\n<\/pre>\n<\/div>\nthis will print some version information and the basic python prompt <code>&gt;&gt;&gt;<\/code>\n\nYou can type here python expressions, when you hit return python will evaluate them and print their value.\n\nIt is possible to type whole programs into a REPL (which is not the most convenient way); I love it because it gives me a fast feedback.\n\nIn time many extensions to the python CLI where developed which have some advantages, here is a list of some:\n<ul class=\"org-ul\">\n \t<li>ipython<\/li>\n \t<li>ptipython (which adds some CLI and editing functionalities)<\/li>\n \t<li>jupyter notebook (web powered extension)<\/li>\n \t<li>jupyter lab (even more powerful)<\/li>\n<\/ul>\nSometime I use one of the last three to make quick prototypes and tests as they can save what I typed in a file.\n\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"how to prepare your development environment","protected":false},"author":1,"featured_media":203,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[7],"class_list":["post-206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-language-learning","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Python Tutorial: Setting up your environment - Noise On The Net<\/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:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Tutorial: Setting up your environment - Noise On The Net\" \/>\n<meta property=\"og:description\" content=\"how to prepare your development environment\" \/>\n<meta property=\"og:url\" content=\"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/\" \/>\n<meta property=\"og:site_name\" content=\"Noise On The Net\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-12T20:29:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-21T20:47:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"marco.p.v.vezzoli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"marco.p.v.vezzoli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/\"},\"author\":{\"name\":\"marco.p.v.vezzoli\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#\\\/schema\\\/person\\\/88c3a70f2b23480197bc61d6e1e2e982\"},\"headline\":\"Python Tutorial: Setting up your environment\",\"datePublished\":\"2023-08-12T20:29:00+00:00\",\"dateModified\":\"2023-08-21T20:47:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/\"},\"wordCount\":614,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#\\\/schema\\\/person\\\/88c3a70f2b23480197bc61d6e1e2e982\"},\"image\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/noiseonthenet.space\\\/noise\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1\",\"keywords\":[\"Python\"],\"articleSection\":[\"Language learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/\",\"url\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/\",\"name\":\"Python Tutorial: Setting up your environment - Noise On The Net\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/noiseonthenet.space\\\/noise\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1\",\"datePublished\":\"2023-08-12T20:29:00+00:00\",\"dateModified\":\"2023-08-21T20:47:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/noiseonthenet.space\\\/noise\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/noiseonthenet.space\\\/noise\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1\",\"width\":2560,\"height\":1707},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/2023\\\/08\\\/python-tutorial-setting-up-your-environment\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python Tutorial: Setting up your environment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#website\",\"url\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/\",\"name\":\"Noise On The Net\",\"description\":\"Sharing adventures in code\",\"publisher\":{\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#\\\/schema\\\/person\\\/88c3a70f2b23480197bc61d6e1e2e982\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/#\\\/schema\\\/person\\\/88c3a70f2b23480197bc61d6e1e2e982\",\"name\":\"marco.p.v.vezzoli\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g\",\"caption\":\"marco.p.v.vezzoli\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g\"},\"description\":\"Self taught assembler programming at 11 on my C64 (1983). Never stopped since then -- always looking up for curious things in the software development, data science and AI. Linux and FOSS user since 1994. MSc in physics in 1996. Working in large semiconductor companies since 1997 (STM, Micron) developing analytics and full stack web infrastructures, microservices, ML solutions\",\"sameAs\":[\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/marco-paolo-valerio-vezzoli-0663835\\\/\"],\"url\":\"https:\\\/\\\/noiseonthenet.space\\\/noise\\\/author\\\/marco-p-v-vezzoli\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Python Tutorial: Setting up your environment - Noise On The Net","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:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/","og_locale":"en_US","og_type":"article","og_title":"Python Tutorial: Setting up your environment - Noise On The Net","og_description":"how to prepare your development environment","og_url":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/","og_site_name":"Noise On The Net","article_published_time":"2023-08-12T20:29:00+00:00","article_modified_time":"2023-08-21T20:47:59+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"marco.p.v.vezzoli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"marco.p.v.vezzoli","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#article","isPartOf":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/"},"author":{"name":"marco.p.v.vezzoli","@id":"https:\/\/noiseonthenet.space\/noise\/#\/schema\/person\/88c3a70f2b23480197bc61d6e1e2e982"},"headline":"Python Tutorial: Setting up your environment","datePublished":"2023-08-12T20:29:00+00:00","dateModified":"2023-08-21T20:47:59+00:00","mainEntityOfPage":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/"},"wordCount":614,"commentCount":0,"publisher":{"@id":"https:\/\/noiseonthenet.space\/noise\/#\/schema\/person\/88c3a70f2b23480197bc61d6e1e2e982"},"image":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1","keywords":["Python"],"articleSection":["Language learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/","url":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/","name":"Python Tutorial: Setting up your environment - Noise On The Net","isPartOf":{"@id":"https:\/\/noiseonthenet.space\/noise\/#website"},"primaryImageOfPage":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#primaryimage"},"image":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1","datePublished":"2023-08-12T20:29:00+00:00","dateModified":"2023-08-21T20:47:59+00:00","breadcrumb":{"@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#primaryimage","url":"https:\/\/i0.wp.com\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1","contentUrl":"https:\/\/i0.wp.com\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1","width":2560,"height":1707},{"@type":"BreadcrumbList","@id":"https:\/\/noiseonthenet.space\/noise\/2023\/08\/python-tutorial-setting-up-your-environment\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/noiseonthenet.space\/noise\/"},{"@type":"ListItem","position":2,"name":"Python Tutorial: Setting up your environment"}]},{"@type":"WebSite","@id":"https:\/\/noiseonthenet.space\/noise\/#website","url":"https:\/\/noiseonthenet.space\/noise\/","name":"Noise On The Net","description":"Sharing adventures in code","publisher":{"@id":"https:\/\/noiseonthenet.space\/noise\/#\/schema\/person\/88c3a70f2b23480197bc61d6e1e2e982"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/noiseonthenet.space\/noise\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/noiseonthenet.space\/noise\/#\/schema\/person\/88c3a70f2b23480197bc61d6e1e2e982","name":"marco.p.v.vezzoli","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g","caption":"marco.p.v.vezzoli"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/b9d9aab1df560bc14d73b0b442198f196ce39e7c7a38df1dc22fec0b97f17da9?s=96&d=mm&r=g"},"description":"Self taught assembler programming at 11 on my C64 (1983). Never stopped since then -- always looking up for curious things in the software development, data science and AI. Linux and FOSS user since 1994. MSc in physics in 1996. Working in large semiconductor companies since 1997 (STM, Micron) developing analytics and full stack web infrastructures, microservices, ML solutions","sameAs":["https:\/\/noiseonthenet.space\/noise\/","https:\/\/www.linkedin.com\/in\/marco-paolo-valerio-vezzoli-0663835\/"],"url":"https:\/\/noiseonthenet.space\/noise\/author\/marco-p-v-vezzoli\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/noiseonthenet.space\/noise\/wp-content\/uploads\/2023\/08\/patrick-NdNtLhq0uG4-unsplash-scaled.jpg?fit=2560%2C1707&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pdDUZ5-3k","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":6,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"predecessor-version":[{"id":219,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/posts\/206\/revisions\/219"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/media\/203"}],"wp:attachment":[{"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noiseonthenet.space\/noise\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}