vibego 0.2.10__py3-none-any.whl → 0.2.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vibego might be problematic. Click here for more details.

scripts/start.sh CHANGED
@@ -153,6 +153,33 @@ select_python_binary() {
153
153
  printf '%s' "$chosen"
154
154
  }
155
155
 
156
+ # 检查Python依赖是否已安装完整
157
+ check_deps_installed() {
158
+ # 检查虚拟环境是否存在
159
+ if [[ ! -d "$ROOT_DIR/.venv" ]]; then
160
+ log_info "虚拟环境不存在,需要初始化"
161
+ return 1
162
+ fi
163
+
164
+ # 检查虚拟环境的Python解释器
165
+ if [[ ! -x "$ROOT_DIR/.venv/bin/python" ]]; then
166
+ log_info "虚拟环境Python解释器缺失"
167
+ return 1
168
+ fi
169
+
170
+ # 激活虚拟环境并检查关键依赖包
171
+ # aiogram: Telegram Bot框架
172
+ # aiohttp: 异步HTTP客户端
173
+ # aiosqlite: 异步SQLite数据库
174
+ if ! "$ROOT_DIR/.venv/bin/python" -c "import aiogram, aiohttp, aiosqlite" 2>/dev/null; then
175
+ log_info "关键依赖包缺失或损坏"
176
+ return 1
177
+ fi
178
+
179
+ log_info "依赖检查通过,虚拟环境完整"
180
+ return 0
181
+ }
182
+
156
183
  if pgrep -f "python.*master.py" >/dev/null 2>&1; then
157
184
  log_info "检测到历史 master 实例,正在终止..."
158
185
  pkill -f "python.*master.py" || true
@@ -169,18 +196,31 @@ if pgrep -f "python.*master.py" >/dev/null 2>&1; then
169
196
  log_info "历史 master 实例已清理"
170
197
  fi
171
198
 
172
- # 创建并启用虚拟环境
173
- PYTHON_BIN="$(select_python_binary)"
174
- "$PYTHON_BIN" -m venv .venv
175
- source .venv/bin/activate
176
-
177
- # 安装依赖
199
+ # 智能依赖管理:仅在必要时安装
178
200
  REQUIREMENTS_FILE="${VIBEGO_REQUIREMENTS_PATH:-$ROOT_DIR/scripts/requirements.txt}"
179
201
  if [[ ! -f "$REQUIREMENTS_FILE" ]]; then
180
202
  log_error "依赖文件缺失: $REQUIREMENTS_FILE"
181
203
  exit 1
182
204
  fi
183
- pip install -r "$REQUIREMENTS_FILE"
205
+
206
+ PYTHON_BIN="$(select_python_binary)"
207
+
208
+ # 检查是否需要安装依赖
209
+ if check_deps_installed; then
210
+ log_info "依赖已安装且完整,跳过pip install(加速重启)"
211
+ source .venv/bin/activate
212
+ else
213
+ log_info "首次启动或依赖缺失,正在安装依赖..."
214
+
215
+ # 创建或重建虚拟环境
216
+ "$PYTHON_BIN" -m venv .venv
217
+ source .venv/bin/activate
218
+
219
+ # 安装依赖
220
+ log_info "开始执行 pip install -r $REQUIREMENTS_FILE"
221
+ pip install -r "$REQUIREMENTS_FILE"
222
+ log_info "依赖安装完成"
223
+ fi
184
224
 
185
225
  # 后台启动 master,日志落在 vibe.log
186
226
  nohup python master.py >> /dev/null 2>&1 &
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env bash
2
+ # 测试依赖检查函数的逻辑
3
+ set -euo pipefail
4
+
5
+ ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
6
+
7
+ echo "=== 测试依赖检查函数 ==="
8
+ echo "ROOT_DIR: $ROOT_DIR"
9
+ echo ""
10
+
11
+ # 从start.sh提取check_deps_installed函数进行测试
12
+ check_deps_installed() {
13
+ if [[ ! -d "$ROOT_DIR/.venv" ]]; then
14
+ echo "❌ 虚拟环境不存在"
15
+ return 1
16
+ fi
17
+
18
+ if [[ ! -x "$ROOT_DIR/.venv/bin/python" ]]; then
19
+ echo "❌ 虚拟环境Python解释器缺失"
20
+ return 1
21
+ fi
22
+
23
+ if ! "$ROOT_DIR/.venv/bin/python" -c "import aiogram, aiohttp, aiosqlite" 2>/dev/null; then
24
+ echo "❌ 关键依赖包缺失或损坏"
25
+ return 1
26
+ fi
27
+
28
+ echo "✅ 依赖检查通过"
29
+ return 0
30
+ }
31
+
32
+ # 测试1:检查当前环境
33
+ echo "【测试1】检查当前虚拟环境状态:"
34
+ if check_deps_installed; then
35
+ echo "结果:依赖完整,重启时将跳过pip install"
36
+ else
37
+ echo "结果:依赖缺失,重启时将执行pip install"
38
+ fi
39
+ echo ""
40
+
41
+ # 测试2:检查虚拟环境目录
42
+ echo "【测试2】虚拟环境目录检查:"
43
+ if [[ -d "$ROOT_DIR/.venv" ]]; then
44
+ echo "✅ .venv 目录存在"
45
+ ls -lh "$ROOT_DIR/.venv/bin/python" 2>/dev/null || echo "❌ Python解释器不存在"
46
+ else
47
+ echo "❌ .venv 目录不存在"
48
+ fi
49
+ echo ""
50
+
51
+ # 测试3:检查关键依赖
52
+ echo "【测试3】关键依赖包检查:"
53
+ if [[ -x "$ROOT_DIR/.venv/bin/python" ]]; then
54
+ for pkg in aiogram aiohttp aiosqlite; do
55
+ if "$ROOT_DIR/.venv/bin/python" -c "import $pkg" 2>/dev/null; then
56
+ echo "✅ $pkg 已安装"
57
+ else
58
+ echo "❌ $pkg 未安装"
59
+ fi
60
+ done
61
+ else
62
+ echo "⚠️ 无法检查(Python解释器不可用)"
63
+ fi
64
+ echo ""
65
+
66
+ echo "=== 测试完成 ==="
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibego
3
- Version: 0.2.10
3
+ Version: 0.2.11
4
4
  Summary: vibego CLI:用于初始化与管理 Telegram Master Bot 的工具
5
5
  Author: Hypha
6
6
  License-Expression: LicenseRef-Proprietary
@@ -7,10 +7,11 @@ scripts/log_writer.py,sha256=8euoMlRo7cbtHApbcEoJnwzLABxti-ovJWFLRN1oDQw,3843
7
7
  scripts/master_healthcheck.py,sha256=-X0VVsZ0AXaOb7izxTO_oyu23g_1jsirNdGIcP8nrSI,8321
8
8
  scripts/requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
9
9
  scripts/run_bot.sh,sha256=rM2Op_l4mP9asT3VoTwGQuHocwaxiGyQp2l1PLegsY4,4481
10
- scripts/start.sh,sha256=tb_h90-nU4po3asUc3D7YBwvDXmxeWGgPwxTEBpI8Ow,5641
10
+ scripts/start.sh,sha256=IsNjFWXX3qmFxx_7iiVEidTj9VHBUTkNNbsCPoNSL0E,6782
11
11
  scripts/start_tmux_codex.sh,sha256=4ko72SK7EDJmzXVuLBOz1_S1lLEmgIpLAVuD7mZhpdk,4018
12
12
  scripts/stop_all.sh,sha256=FOz07gi2CI9sMHxBb8XkqHtxRYs3jt1RYgGrEi-htVg,4086
13
13
  scripts/stop_bot.sh,sha256=b9vvrke5jeyO18SEBFZxQD09Gf65BgGzeKtpM8sa60Y,3677
14
+ scripts/test_deps_check.sh,sha256=AeSTucbNuNdOPSGvqVp0m31TVFDb0DmU8gSKg-Y5z2I,1696
14
15
  scripts/.venv/lib/python3.14/site-packages/pip/__init__.py,sha256=_lgs5Mfp0t7AGtI7sTVwxKWquz_vahWWH9kKO1cJusA,353
15
16
  scripts/.venv/lib/python3.14/site-packages/pip/__main__.py,sha256=WzbhHXTbSE6gBY19mNN9m4s5o_365LOvTYSgqgbdBhE,854
16
17
  scripts/.venv/lib/python3.14/site-packages/pip/__pip-runner__.py,sha256=JOoEZTwrtv7jRaXBkgSQKAE04yNyfFmGHxqpHiGHvL0,1450
@@ -429,8 +430,8 @@ vibego_cli/config.py,sha256=33WSORCfUIxrDtgASPEbVqVLBVNHh-RSFLpNy7tfc0s,2992
429
430
  vibego_cli/deps.py,sha256=1nRXI7Dd-S1hYE8DligzK5fIluQWETRUj4_OKL0DikQ,1419
430
431
  vibego_cli/main.py,sha256=e2W5Pb9U9rfmF-jNX9uIA3222lhM0GgcvSdFTDBZd2s,12086
431
432
  vibego_cli/data/worker_requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
432
- vibego-0.2.10.dist-info/METADATA,sha256=CzxFnVhczBzeTQ1aK8jjhhoYJT85g6QtQy_rU4aDoaQ,10475
433
- vibego-0.2.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
434
- vibego-0.2.10.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
435
- vibego-0.2.10.dist-info/top_level.txt,sha256=R56CT3nW5H5v3ce0l3QDN4-C4qxTrNWzRTwrxnkDX4U,69
436
- vibego-0.2.10.dist-info/RECORD,,
433
+ vibego-0.2.11.dist-info/METADATA,sha256=qdYmMPXO440tHnQCLv6SojrTvBsPqj2Pbi1sUrKp9KI,10475
434
+ vibego-0.2.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
435
+ vibego-0.2.11.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
436
+ vibego-0.2.11.dist-info/top_level.txt,sha256=R56CT3nW5H5v3ce0l3QDN4-C4qxTrNWzRTwrxnkDX4U,69
437
+ vibego-0.2.11.dist-info/RECORD,,