Каков приоритет скомпилированных файлов python в импорте?

Файлы Python скомпилированы в байт-код (*.pyc).

Используя Cython, вы можете скомпилировать их в машинный код (*.so в Linux).

Если вы используете оба файла в одной и той же папке под тем же именем, каков приоритет между ними?

Есть ли автоматический способ убедиться, что файл *.so используется вместо *.pyc? Или вам нужно сделать это явно в коде (переименование и т.д.)?

Ответ 1

Сначала Python загрузит файл .so. См. этот вопрос для упорядоченного списка суффиксов, которые ищет python.

Хорошо, я просто скажу вам:

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