XiaoHei Studio
Upload 40 files
524ad56
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()