30 Days Of Python 👨‍💻 - Day 7 - Developer Environment

This article is a part of a 30 day Python challenge series. You can find the links to all the previous posts of this series here
Throughout the first week, I spent time getting familiar with the basic terminologies, syntax and concepts of Python and tried building a mental model around it using my experience with JavaScript. As per the rough roadmap I created, I dedicated Day 7 towards setting up my Python developer environment and exploring more about various IDEs available and more things related to the developer environment which I will be sharing in this post.

Installing Python

Installation is pretty self-explanatory and very well described in the official Python download page which I have linked here.
Make sure you download the latest version of Python (3.8.3 as of now) to take advantage of the latest features.

Python Developer Tools

a) Code Editors ( Light-weighted applications. )
b) IDEs ( Comes integrated with all tools required for development, testing, debugging )
c) Notebooks
  • Jupyter Notebooks (Used for Machine Learning and Data Science)

Python Extensions for VS Code

If using VS Code as the code editor, these extensions might come handy for more Python friendly development experience
I personally liked PyCharm and the community-edition provides all features that are required for professional development with Python. It gives a great professional environment with all tools baked in. However, I will be using VS Code as I often need to switch to other JavaScript projects and using a single editor would be less cumbersome.


Here is a style guide for Python Code. VS Code will prompt installation of autopep8 formatter when trying to format Python code. It will format Python code as per the specifications. An IDE like PyCharm comes with a Pep8 formatter baked in.


Anaconda is a package manager, an environment manager, and Python distribution that contains a collection of many open source packages (numpy, scikit-learn, scipy, pandas to name a few). Additional packages after installing Anaconda, can be installed by using Anaconda’s package manager, conda or pip to install those packages. Conda even makes it easy to switch between Python 2 and 3 (you can learn more about it here). In fact, installation of Anaconda is also a common way to install Jupyter Notebooks.
There is another distribution package available called Minoconda, a stripped-down version of Anaconda for computers with memory constraints.
Developer Environment is something which can be a reason for procrastination figuring out the latest and greatest tool for development. So sticking to an IDE or code editor is better. It’s way better to feel very comfortable with a single editor rather than knowing tons of applications in bits and pieces. It’s good to know the tools and technologies that are available but frequent switching of tools just due to their popularity is not essential always.
That’s it, folks. I covered the topics which were part of the week 1 roadmap. It’s time to enter the more advanced territory of Python exploring programming paradigms such as Object-Oriented style and Functional Style. Will start with OOP concepts with Python tomorrow.
Have a great one!