Setting up a Python Development Environment

This is probably going to be the most criticized blog post on Python, as there is nothing as finicky as a developer's preferences.

Ask yourself at least these questions before you make your development platform decisions.

  • What type of applications am I going to develop?
  • Will I be working with others on the same codebase?

Jupyter Notebooks

Many developers are starting to explore Jupyter Notebooks. Often, Jupyter Notebooks are run somewhere in the cloud (although they can be installed locally as well). Google is a strong supporter and offers free environments (see Google Colab).

Jupyter Notebooks are great for rapid prototyping and development, with no installation whatsoever. And, if you want to work with Google Tensorflow, you will be surprised how easy it is to run your first machine learning project. 

Python Editors

Let us assume you have decided to go for a local installation. One of the biggest tribal wars between developers is the editor of choice. My personal preference is Microsoft Visual Code (which is free), but I will not argue with you if you choose differently. PyCharm, Atom, Thonny all have their followers. And if you happen to be using Eclipse for other development, such as Java, the good news there is a PyDev plugin.

As most developers use more than one programming language (for me, that would be C#, Java, Python among others) they tend to use an editor that facilitates each of the frequently used languages smoothly. 

We already mentioned the plethora of libraries or packages as they are called within in the Python community. You can find them at https://pypi.org/. Installing packages is usually a piece of cake, but you may have to deal with dependencies between packages. You install packages using the PIP command line.

You can install a new package specifically for a project or 'globally', that is for all your current and future projects. Both have advantages: the second because it is quick and easy, the first because you can have different versions of packages in different projects (for compatibility reasons or otherwise).

Using the command pip list will show you the list of all installed packages. 

Previous chapter | Next chapter