From b00559a5b9c0c721b87822ad466b461be2d34da9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Rast?= Date: Sat, 7 Sep 2019 00:25:06 +0200 Subject: [PATCH] Adding sys.path to %PATH% to find libcrypto on windows --- src/borg/__main__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/borg/__main__.py b/src/borg/__main__.py index 3e7f47452..73a2187de 100644 --- a/src/borg/__main__.py +++ b/src/borg/__main__.py @@ -1,2 +1,15 @@ +import sys +import os + +# On windows loading the bundled libcrypto dll fails if the folder +# containing the dll is not in the search path. The dll is shipped +# with python in the "DLLs" folder, so let's add this folder +# to the path. The folder is always in sys.path, get it from there. +if sys.platform.startswith('win32'): + # Keep it an iterable to support multiple folder which contain "DLLs". + dll_path = (p for p in sys.path if 'DLLs' in os.path.normpath(p).split(os.path.sep)) + os.environ['PATH'] = os.pathsep.join(dll_path) + os.pathsep + os.environ['PATH'] + + from borg.archiver import main main()