소스 검색

Adding sys.path to %PATH% to find libcrypto on windows

Jürg Rast 5 년 전
부모
커밋
b00559a5b9
1개의 변경된 파일13개의 추가작업 그리고 0개의 파일을 삭제
  1. 13 0
      src/borg/__main__.py

+ 13 - 0
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()