все Python 3Linux · macOSsysфункция
sys.setdlopenflags()
интерпретатор
Задаёт флаги dlopen() для следующих импортов модулей-расширений на C, например os.RTLD_GLOBAL. Только Unix (Linux, macOS).
Синтаксис
sys.setdlopenflags(n)
Флаги действуют только на модули, импортированные после вызова: уже загруженное расширение повторно не грузится. RTLD_GLOBAL открывает символы одного расширения другим, но рискует конфликтами имён между библиотеками. Верните старое значение сразу после нужного импорта. На Windows функции нет.
Примеры
import os, sys
old = sys.getdlopenflags()
sys.setdlopenflags(old | os.RTLD_GLOBAL)
print(bool(sys.getdlopenflags() & os.RTLD_GLOBAL)) # → True
sys.setdlopenflags(old)
print(sys.getdlopenflags() == old) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности