Setting up tooling
Before we begin, it is important to note that this chapter will require a working compiler that plays nicely with your Python interpreter. Unfortunately, these vary from platform to platform. For Linux distributions, this can usually be achieved with one or two commands without much hassle.
For OS X, the experience is often very similar, mostly because the heavy lifting can be offloaded to package management systems such as Homebrew. For Windows, it can be slightly trickier, but that process has been streamlined over the last few years as well.
A good and up-to-date starting point to get the required tooling is the Python Developer’s Guide: https://devguide.python.org/setup/.
For building the actual extensions, the Python manual can be useful: https://docs.python.org/3/extending/building.html.
Do you need C/C++ modules?
In almost all cases, I’m inclined to say that you don’t need C/C++ modules. If you are really strapped...