What is the precedence of python compiled files in imports?

bytecode, compilation, cython, python

Solution

Python will load the `.so` file first. See this question for an ordered list of the suffixes that python searches for.

Well, I'll just tell you:

foo (a directory)
foo.so
foomodule.so
foo.py
foo.pyc

Problem

Python files are compiled to bytecode (*.pyc). Using Cython you can compile them to machine code (*.so in Linux). If you use have both files in the same folder, under the same name what is the precedence between them? Is there an automatic way to ensure that the *.so file is used instead of the *.pyc one? Or you have to do it explicitly in the code (renaming etc)?

Original source

Related problems