Module Loading and Compilation

So far, this chapter has presented modules as files containing Python code. However, modules loaded with import really fall into four general categories:

  • Programs written in Python (.py files)

  • C or C++ extensions that have been compiled into shared libraries or DLLs

  • Packages containing a collection of modules

  • Built-in modules written in C and linked into the Python interpreter

When looking for a module foo, the interpreter searches each of the directories in sys.path for the following files (listed in search order):

  1. A directory foo defining a package

  2. foo.so, foomodule.so, foomodule.sl, or foomodule.dll (compiled extensions)

  3. foo.pyo (only if the -O or -OO option has been used)

  4. foo.pyc

  5. foo.py

Packages are described ...

Get Python Essential Reference, Second Edition 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.