12345678910111213141516171819202122232425262728 |
- # Imported by pywin32.pth to bootstrap the pywin32 environment in "portable"
- # environments or any other case where the post-install script isn't run.
- #
- # In short, there's a directory installed by pywin32 named 'pywin32_system32'
- # with some important DLLs which need to be found by Python when some pywin32
- # modules are imported.
- # If Python has `os.add_dll_directory()`, we need to call it with this path.
- # Otherwise, we add this path to PATH.
- try:
- import pywin32_system32
- except ImportError: # Python ≥3.6: replace ImportError with ModuleNotFoundError
- pass
- else:
- import os
- # We're guaranteed only that __path__: Iterable[str]
- # https://docs.python.org/3/reference/import.html#__path__
- for path in pywin32_system32.__path__:
- if os.path.isdir(path):
- if hasattr(os, "add_dll_directory"):
- os.add_dll_directory(path)
- # This is to ensure the pywin32 path is in the beginning to find the
- # pywin32 DLLs first and prevent other PATH entries to shadow them
- elif not os.environ["PATH"].startswith(path):
- os.environ["PATH"] = os.environ["PATH"].replace(os.pathsep + path, "")
- os.environ["PATH"] = path + os.pathsep + os.environ["PATH"]
- break
|