Bläddra i källkod

bin_version means to modify, not replace environ

the `bin_version` function means to modify the environment,
not replace it entirely. Fixes bugs that occur when it wipes out the
PATH environment variable, such as when running in a virtual
environment.
Ross Williams 2 år sedan
förälder
incheckning
9d9872d325
1 ändrade filer med 2 tillägg och 1 borttagningar
  1. 2 1
      archivebox/config.py

+ 2 - 1
archivebox/config.py

@@ -690,7 +690,8 @@ def bin_version(binary: Optional[str]) -> Optional[str]:
         return None
 
     try:
-        version_str = run([abspath, "--version"], stdout=PIPE, env={'LANG': 'C'}).stdout.strip().decode()
+        bin_env = os.environ | {'LANG': 'C'}
+        version_str = run([abspath, "--version"], stdout=PIPE, env=bin_env).stdout.strip().decode()
         if not version_str:
             version_str = run([abspath, "--version"], stdout=PIPE).stdout.strip().decode()
         # take first 3 columns of first line of version info