Python3 .8 изменило поведение на Windows: он не ищет dll в PATH, и необходимо добавить необходимый путь с помощью os.add_dll_directory
, поэтому модуль можно импортировать без ошибок. Мне нужно использовать модуль OpenInformix / IfxPy, и уже есть открытая проблема для этого .
Тем временем я пытаюсь исправить это самостоятельно, поэтому я добавил следующий код в начало IfxPy.py
if os.name == 'nt' and hasattr(os, 'add_dll_directory'):
informixdir = os.getenv('INFORMIXDIR', None)
if informixdir and os.path.exists(informixdir):
os.add_dll_directory(os.path.join(informixdir, "bin"))
, но после python setup.py install
(я очищаю предыдущую сборку и снова собираю ее), установленный IfxPy.py
содержит только __bootstrap__
функцию. В журнале установки указано, что IfxPy.py
создается во время установки:
...
byte-compiling build\bdist.win-amd64\egg\IfxPyDbi.py to IfxPyDbi.cpython-38.pyc
creating stub loader for IfxPy.cp38-win_amd64.pyd
byte-compiling build\bdist.win-amd64\egg\IfxPy.py to IfxPy.cpython-38.pyc
creating build\bdist.win-amd64\egg\EGG-INFO
...
Итак, где я должен поместить этот код, чтобы import IfxPy
не сработал?