Sfoglia il codice sorgente

Merge pull request #1873 from openNAMU/dev

이전 방식도 포함, 버그 수정
잉여개발기 (SPDV) 2 anni fa
parent
commit
a9b7b193e1
2 ha cambiato i file con 31 aggiunte e 5 eliminazioni
  1. 15 3
      route/main_sys_restart.py
  2. 16 2
      route/tool/func.py

+ 15 - 3
route/main_sys_restart.py

@@ -11,14 +11,26 @@ def main_sys_restart():
             print('----')
             print('Restart')
 
-            run_list = [sys.executable, 'python' + python_ver, 'python3', 'python']
+            python_ver = str(sys.version_info.major) + '.' + str(sys.version_info.minor)
+
+            run_list = [sys.executable, 'python' + python_ver, 'python3', 'python', 'py -' + python_ver]
             for exe_name in run_list:
+                try:
+                    os.execl(exe_name, sys.executable, *sys.argv)
+                except:
+                    pass
+
+                try:
+                    os.execl(exe_name, '"' + sys.executable + '"', *sys.argv)
+                except:
+                    pass
+
                 try:
                     os.execl(exe_name, os.path.abspath(__file__), *sys.argv)
                 except:
                     pass
-            
-            return re_error('/error/33')
+            else:
+                return re_error('/error/33')
         else:
             return easy_minify(flask.render_template(skin_check(),
                 imp = [load_lang('wiki_restart'), wiki_set(), wiki_custom(), wiki_css([0, 0])],

+ 16 - 2
route/tool/func.py

@@ -37,11 +37,25 @@ if data_up_date == 1:
     if platform.system() in ('Linux', 'Windows'):
         python_ver = str(sys.version_info.major) + '.' + str(sys.version_info.minor)
 
-        run_list = [sys.executable, 'python' + python_ver, 'python3', 'python']
+        run_list = [sys.executable, 'python' + python_ver, 'python3', 'python', 'py -' + python_ver]
         for exe_name in run_list:
             try:
                 subprocess.check_call([exe_name, "-m", "pip", "install", "--upgrade", "--user", "-r", "requirements.txt"])
-                os.execl(exe_name, os.path.abspath(__file__), *sys.argv)
+
+                try:
+                    os.execl(exe_name, sys.executable, *sys.argv)
+                except:
+                    pass
+
+                try:
+                    os.execl(exe_name, '"' + sys.executable + '"', *sys.argv)
+                except:
+                    pass
+
+                try:
+                    os.execl(exe_name, os.path.abspath(__file__), *sys.argv)
+                except:
+                    pass
             except:
                 pass
         else: