Import gotchas

While modules and packages are extremely useful, there are times when Python's import machinery can leave you with subtle problems that can take a long time to figure out. In this section, we will discuss some of the more common problems that you are likely to encounter while working with modules and packages.

Using an existing name for your module or package

Imagine that you're writing a program that makes use of the Python Standard Library. For example, you might make use of the random module to do the following:

import random
print(random.choice(["yes", "no"]))

Your program is working correctly until you decide that it has too many mathematical functions in the main script, and you refactor it to move these functions into a separate ...

Get Modular Programming with Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.