Summary
This chapter was all about development environments for Python programmers. We've discussed the importance of environment isolation for Python projects. You've learned two different levels of environment isolation (application-level and system-level), and multiple tools that allow you to create them in a consistent and repeatable manner. This chapter ended with a review of a few tools that improve the ways in which you can experiment with Python or debug your programs.
Now that you all of these tools under your tool belt, you are well-prepared for the next few chapters, where we will discuss multiple features of modern Python syntax.
In the next chapter, we will focus on the best practices for writing code in Python (language idioms) and provide a summary of selected elements of Python syntax that may be new for intermediate Python users, or familiar for those experienced with older versions of Python.
We will also take a look at internal CPython type implementations and their computational complexities as a rationale for provided idioms.