Я написал расширение C (mycext.c) для Python 3.2. Расширение полагается на постоянные данные, хранящиеся в заголовке C (myconst.h). Заголовочный файл создается скриптом Python. В том же скрипте я использую недавно скомпилированный модуль. Рабочий процесс в myscript Python3 (не показан полностью) выглядит следующим образом:
configure_C_header_constants()
write_constants_to_C_header() # write myconst.h
os.system('python3 setup.py install --user') # compile mycext
import mycext
mycext.do_stuff()
Это впервые отлично работает в сеансе Python. Если я повторяю процедуру в том же сеансе (например, в двух разных тестовых сценариях unittest), первая скомпилированная версия mycext всегда (повторно) загружается.
Как эффективно перезагрузить модуль расширения последней скомпилированной версией?