Allow mpv-1.dll to be placed in python script directory (#96)

Windows: Look for DLL in script directory

Loading DLLs through ctypes on Windows is a mess. ctypes looks in PATH, which is different from the Windows built-in DLL loading system. By default ctypes looks next to python.exe, but you might not want to install python script dependencies next to the system-wide python interpreter.

This commit adds a fallback looking for mpv-1.dll in the same directory the mpv.py script is placed in to allow people to use python-mpv with a minimum in configuration. You can still control loading behavior through PATH. For details on this, consult the following stackoverflow answer: https://stackoverflow.com/a/23805306
This commit is contained in:
ripdog 2019-12-04 11:42:57 +13:00 committed by jaseg
parent 9d9c2b26f3
commit c6a8088f3a

5
mpv.py
View file

@ -28,7 +28,10 @@ import re
import traceback
if os.name == 'nt':
backend = CDLL('mpv-1.dll')
try:
backend = CDLL('mpv-1.dll')
except FileNotFoundError:
backend = CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mpv-1.dll'))
fs_enc = 'utf-8'
else:
import locale