Spaces:
Configuration error
Configuration error
| import os | |
| import re | |
| import socket | |
| import subprocess | |
| import sys | |
| import psutil | |
| def check_ffmpeg_path(): | |
| cwd = os.getcwd() | |
| ffmpeg_path = os.path.join(cwd, "ffmpeg", "bin", "ffmpeg.exe") | |
| ffprobe_path = os.path.join(cwd, "ffmpeg", "bin", "ffprobe.exe") | |
| return os.path.isfile(ffmpeg_path) and os.path.isfile(ffprobe_path) | |
| def get_default_browser(): | |
| browser = "" | |
| try: | |
| cmd = r'reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice /v ProgId' | |
| output = subprocess.check_output(cmd, shell=True).decode() | |
| browser = output.split()[-1].split('\\')[-1] | |
| except Exception as e: | |
| print(f"Error: {e}") | |
| browser = "Unknown" | |
| return browser | |
| def get_hostname(): | |
| try: | |
| hostname = socket.gethostname() | |
| return hostname | |
| except socket.error as e: | |
| print("Error: ", e) | |
| def get_pagefile_size(): | |
| try: | |
| pagefile = psutil.swap_memory().total | |
| except UnboundLocalError: | |
| pagefile = 0 | |
| except RuntimeError: | |
| pagefile = None | |
| return pagefile | |
| def main(): | |
| allowed_pattern = re.compile(r'^[a-zA-Z0-9_@#$%^&()_+\-=\s\.]*$') | |
| hostname = get_hostname() | |
| pagefile = get_pagefile_size() | |
| default_browser = get_default_browser() | |
| if check_ffmpeg_path(): | |
| print("FFmpeg already installed, skipping...") | |
| else: | |
| try: | |
| sys.exit(0) | |
| finally: | |
| print("未找到FFmpeg,整合包可能不完整,请重新下载") | |
| if pagefile is None: | |
| print("WARNING | 系统未开启性能计数器,无法获取当前虚拟内存状态,确保虚拟内存大于30G后可忽略此警告") | |
| elif pagefile < 31457280000: # 30 GiB | |
| print("WARNING | 虚拟内存不足30GB,可能会导致使用问题,请将虚拟内存设置为至少30G") | |
| if "chrome" not in default_browser.lower() and "edge" not in default_browser.lower() and "firefox" not in default_browser.lower(): | |
| print("WARNING | 默认浏览器不符合要求,可能会影响使用,请更换为Chrome或Edge浏览器") | |
| if not allowed_pattern.match(hostname): | |
| print("WARNING | 计算机主机名中含有非西文字符,启动Tensorboard时可能出错,请在计算机设置中修改") | |
| os.system("workenv\python.exe app.py") | |
| if __name__ == "__main__": | |
| main() |