[0008] - Setting Up a New Machine for Python Development
I recently got a request to talk about my process for setting up a brand-new machine for development in Python. This is something that I will need to do this week as I am getting a new laptop today.
Choosing Your Python Flavor
The first step is picking out which Python distribution you want. Most people choose one of the following:
If you are a data scientist or interested in machine learning, you might want to check out Anaconda because it includes many scientific packages pre-installed and makes installing some of them easier.
I use Python from the python.org site, which is also called CPython. No matter which you choose, they are easy to install. You can go to the website and download the version that is compatible with your operating system and install it.
On Windows, Python is also in the Windows Store for free. I believe if you install it that way, it makes Python available on the command line automatically.
There are other distributions of Python besides CPython or Anaconda, though. For example, if you want a faster Python variant, you should try Pypy. There is also a Python distribution written in Java called Jython, which may be useful if you enjoy Java or want to use Jave libraries in Python!
Picking an IDE
The next step in getting setup for development in Python is choosing which Integrated Development Environment (IDE) you want to use.
Here are the three most feature-rich IDEs for Python:
Visual Studio Code (AKA VS Code)
I use WingIDE for most of my writing. At work, I use a mixture of PyCharm and VS Code. If you use docker a lot, I would recommend PyCharm, as I think it has the best docker support of any of the IDEs.
If you have to program in multiple languages, then VS Code probably makes the most sense and it’s the only FREE one of the bunch. There are "community” editions of WingIDE and PyCharm, but they don’t have all the Pro features.
If you want something more lightweight, then you could choose from one of the following:
I know some people who use SublimeText or terminal editions like vim or emacs to write their Python code too.
Code Versioning Tooling
Keep reading with a 7-day free trial
Subscribe to The Python Papers to keep reading this post and get 7 days of free access to the full post archives.