simler commited on
Commit
bd02d0a
·
verified ·
1 Parent(s): 84d9978

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -11
app.py CHANGED
@@ -3,25 +3,49 @@ import os
3
  import logging
4
  import builtins
5
  import runpy
6
- import time
7
 
8
  # 1. 自动应答
9
  builtins.input = lambda prompt="": "y"
10
 
11
- # 2. 详细日志
12
  logging.basicConfig(level=logging.INFO)
13
  logger = logging.getLogger("Launcher")
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  if __name__ == "__main__":
16
  logger.info("🚀 启动器激活...")
17
 
18
- # 3. 路径确认
19
- # 打印一下当前目录到底有哪些文件,防止 Docker 路径玄学
20
- logger.info(f"📂 当前工作目录: {os.getcwd()}")
21
- logger.info(f"📂 目录文件列表: {os.listdir('.')}")
 
 
 
 
22
 
23
- # 4. 构造启动参数
24
- # 强制指定配置文件和模型目录
25
  sys.argv = [
26
  "genie_tts.Server",
27
  "--host", "0.0.0.0",
@@ -30,10 +54,9 @@ if __name__ == "__main__":
30
  "--config", "config.json"
31
  ]
32
 
33
- logger.info(f"⚡ 正在尝试启动... 参数: {sys.argv}")
34
-
35
  try:
36
- # 启动官方服务
37
  runpy.run_module("genie_tts.Server", run_name="__main__")
38
  except Exception as e:
39
  logger.error(f"❌ 启动崩溃: {e}")
 
3
  import logging
4
  import builtins
5
  import runpy
6
+ import shutil
7
 
8
  # 1. 自动应答
9
  builtins.input = lambda prompt="": "y"
10
 
11
+ # 2. 日志设置
12
  logging.basicConfig(level=logging.INFO)
13
  logger = logging.getLogger("Launcher")
14
 
15
+ def force_download_geniedata():
16
+ """强制把 GenieData 下载到当前目录,而不是隐藏缓存里"""
17
+ target_dir = "/app/GenieData"
18
+ if os.path.exists(target_dir):
19
+ logger.info("✅ GenieData 目录已存在,跳过下载。")
20
+ return
21
+
22
+ logger.info("⬇️ 正在强制下载 GenieData 到当前目录...")
23
+ try:
24
+ from huggingface_hub import snapshot_download
25
+ # 强制指定 local_dir,不让它跑去缓存目录
26
+ snapshot_download(
27
+ repo_id="High-Logic/Genie",
28
+ allow_patterns=["GenieData/*"],
29
+ local_dir="/app",
30
+ local_dir_use_symlinks=False
31
+ )
32
+ logger.info("✅ 下载完成!")
33
+ except Exception as e:
34
+ logger.error(f"❌ 下载 GenieData 失败: {e}")
35
+
36
  if __name__ == "__main__":
37
  logger.info("🚀 启动器激活...")
38
 
39
+ # 3. 执行强制下载
40
+ force_download_geniedata()
41
+
42
+ # 再次检查文件列表
43
+ if os.path.exists("GenieData"):
44
+ logger.info("📂 确认:GenieData 文件夹已就位!")
45
+ else:
46
+ logger.error("❌ 警告:GenieData 依然不存在!")
47
 
48
+ # 4. 启动服务器
 
49
  sys.argv = [
50
  "genie_tts.Server",
51
  "--host", "0.0.0.0",
 
54
  "--config", "config.json"
55
  ]
56
 
57
+ logger.info(f"⚡ 启动参数: {sys.argv}")
58
+
59
  try:
 
60
  runpy.run_module("genie_tts.Server", run_name="__main__")
61
  except Exception as e:
62
  logger.error(f"❌ 启动崩溃: {e}")