diff --git a/TJAF_INSTALL.md b/TJAF_INSTALL.md new file mode 100644 index 0000000..9244bf9 --- /dev/null +++ b/TJAF_INSTALL.md @@ -0,0 +1,134 @@ +# TJAF 包安装说明 + +## 问题说明 + +`tjaf` 包原本从 GitHub 仓库 `https://github.com/yuukiwww/tjaf.git` 安装,但该仓库目前不可访问(可能已删除或设为私有)。 + +## 解决方案 + +### 方案 1: 使用本地 tjaf 包(推荐) + +如果你已经有 tjaf 包的源代码,可以将其放入项目中: + +```bash +# 在项目根目录创建 tjaf 目录 +mkdir -p tjaf + +# 将 tjaf 源代码复制到该目录 +# 然后项目就可以直接导入使用 +``` + +### 方案 2: 从缓存或其他服务器安装 + +如果你之前成功安装过 tjaf,可以从以下位置找到: + +#### 从本地 pip 缓存 +```bash +# 查找已安装的包 +pip show tjaf + +# 找到包的位置 +# 然后可以打包并复制到新环境 +``` + +#### 从其他已安装的环境 +```bash +# 在已安装 tjaf 的环境中 +pip freeze | grep tjaf + +# 导出 wheel 文件 +pip wheel tjaf -w ./wheels + +# 在新环境中安装 +pip install ./wheels/tjaf-*.whl +``` + +### 方案 3: 使用 Git 本地路径安装 + +如果你有 tjaf 的 Git 仓库副本: + +```bash +# 克隆或复制 tjaf 仓库到本地 +git clone /path/to/tjaf/backup tjaf-repo + +# 从本地路径安装 +pip install ./tjaf-repo +``` + +### 方案 4: 寻找替代包或镜像 + +```bash +# 搜索可能的镜像或 fork +# 在 GitHub 上搜索: "tjaf tja parser" +# 或在 PyPI 上搜索类似功能的包 +``` + +## 临时解决方案 + +在找到 tjaf 包之前,可以: + +1. **注释掉相关代码**(如果不使用 TJA 解析功能) +2. **使用替代的 TJA 解析器** +3. **手动实现简单的 TJA 解析逻辑** + +### 查看 tjaf 在项目中的使用位置 + +```bash +# 搜索 tjaf 的使用 +grep -r "import tjaf" . +grep -r "from tjaf" . +grep -r "tjaf\." . +``` + +根据搜索结果,主要在 `app.py` 中使用: +```python +import tjaf +# ... +tja = tjaf.Tja(tja_text) +``` + +## 推荐操作步骤 + +### 步骤 1: 尝试从其他源获取 tjaf + +```bash +# 检查是否有人 fork 了该项目 +# 搜索: site:github.com tjaf tja +``` + +### 步骤 2: 联系原作者 + +如果可能,联系 `yuukiwww` 询问仓库状态或获取包的副本。 + +### 步骤 3: 寻找替代方案 + +可能的 TJA 解析器替代品: +- `tja-parser` (如果存在) +- 自己实现简单的 TJA 解析器 +- 使用其他 Taiko 相关的解析库 + +## 快速修复(用于测试) + +如果你只是想让项目运行起来进行测试,可以暂时注释掉 tjaf 相关功能: + +```python +# 在 app.py 中 +# import tjaf # 暂时注释掉 + +# 在使用 tjaf 的地方添加条件判断 +# if 'tjaf' in sys.modules: +# tja = tjaf.Tja(tja_text) +``` + +## 需要帮助? + +如果你有以下资源,我可以帮你集成: + +1. tjaf 包的源代码 +2. tjaf 的 wheel 文件 +3. 知道其他可用的镜像地址 + +--- + +**更新时间**: 2025-11-15 +**状态**: 待解决 diff --git a/install_tjaf.sh b/install_tjaf.sh new file mode 100644 index 0000000..e1f541e --- /dev/null +++ b/install_tjaf.sh @@ -0,0 +1,113 @@ +#!/bin/bash +# TJAF 安装脚本 - 尝试多种方法安装 tjaf 包 + +echo "=========================================" +echo "TJAF 包安装脚本" +echo "=========================================" +echo "" + +# 检查是否在虚拟环境中 +if [ -z "$VIRTUAL_ENV" ]; then + echo "⚠️ 警告: 未检测到虚拟环境" + echo "建议先激活虚拟环境: source .venv/bin/activate" + echo "" + read -p "是否继续? (y/N) " -n 1 -r + echo + if [[ ! $REPLY =~ ^[Yy]$ ]]; then + exit 1 + fi +fi + +# 方法 1: 尝试从 GitHub 镜像站克隆 +echo "方法 1: 尝试从 GitHub 镜像站安装..." +echo "----------------------------------------" + +# 中国镜像列表 +mirrors=( + "https://ghproxy.com/https://github.com/yuukiwww/tjaf.git" + "https://github.moeyy.xyz/https://github.com/yuukiwww/tjaf.git" + "https://mirror.ghproxy.com/https://github.com/yuukiwww/tjaf.git" +) + +for mirror in "${mirrors[@]}"; do + echo "尝试: $mirror" + if pip install "git+${mirror}@d59e854b074012f6a31bd4c65b53edb6148b0ac7" 2>/dev/null; then + echo "✅ 安装成功!" + exit 0 + fi +done + +echo "❌ 镜像站方法失败" +echo "" + +# 方法 2: 检查是否有本地缓存 +echo "方法 2: 检查本地 pip 缓存..." +echo "----------------------------------------" + +if pip show tjaf &>/dev/null; then + echo "✅ tjaf 已安装!" + pip show tjaf + exit 0 +fi + +echo "❌ 本地未找到 tjaf 包" +echo "" + +# 方法 3: 尝试从本地目录安装 +echo "方法 3: 检查本地 tjaf 目录..." +echo "----------------------------------------" + +if [ -d "tjaf" ] || [ -d "../tjaf" ]; then + echo "找到本地 tjaf 目录,尝试安装..." + if [ -d "tjaf" ]; then + pip install -e ./tjaf && echo "✅ 从本地安装成功!" && exit 0 + elif [ -d "../tjaf" ]; then + pip install -e ../tjaf && echo "✅ 从本地安装成功!" && exit 0 + fi +fi + +echo "❌ 未找到本地 tjaf 目录" +echo "" + +# 方法 4: 提供手动安装说明 +echo "=========================================" +echo "自动安装失败,请尝试手动安装" +echo "=========================================" +echo "" +echo "选项 A: 从其他已安装环境复制" +echo "----------------------------------------" +echo "1. 在已安装 tjaf 的环境中执行:" +echo " pip freeze | grep tjaf" +echo " pip wheel tjaf -w ./wheels" +echo "" +echo "2. 复制 wheels 目录到当前服务器" +echo "" +echo "3. 在当前环境安装:" +echo " pip install ./wheels/tjaf-*.whl" +echo "" +echo "" +echo "选项 B: 使用本地源代码" +echo "----------------------------------------" +echo "1. 获取 tjaf 源代码(从备份或其他来源)" +echo "" +echo "2. 放置到项目目录:" +echo " mkdir -p tjaf" +echo " # 复制源代码到 tjaf/ 目录" +echo "" +echo "3. 安装:" +echo " pip install -e ./tjaf" +echo "" +echo "" +echo "选项 C: 跳过 tjaf(测试模式)" +echo "----------------------------------------" +echo "如果暂时不需要 TJA 解析功能,可以:" +echo "1. 安装其他依赖:" +echo " pip install -r requirements.txt" +echo "" +echo "2. 注释掉 app.py 中的 tjaf 相关代码" +echo "" +echo "" +echo "需要更多帮助? 查看 TJAF_INSTALL.md" +echo "=========================================" + +exit 1 diff --git a/requirements.txt b/requirements.txt index 8ac80f7..cc02654 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,5 +11,7 @@ redis==5.2.1 requests==2.32.3 websockets==14.2 Flask-Limiter==3.10.1 -git+https://github.com/yuukiwww/tjaf.git@d59e854b074012f6a31bd4c65b53edb6148b0ac7 +# git+https://github.com/yuukiwww/tjaf.git@d59e854b074012f6a31bd4c65b53edb6148b0ac7 +# 注意: tjaf 仓库不可访问,需要手动安装或使用本地副本 +# 请参考 TJAF_INSTALL.md 了解安装方法 msgspec==0.19.0