fix: 修复 tjaf 依赖安装问题

- 注释掉无法访问的 GitHub 仓库依赖
- 添加 TJAF_INSTALL.md 安装说明文档
- 添加 install_tjaf.sh 自动安装脚本
- 提供多种 tjaf 包安装方案
This commit is contained in:
2025-11-15 16:25:11 +08:00
parent 25c26b2b2e
commit 704d4c7522
3 changed files with 250 additions and 1 deletions

134
TJAF_INSTALL.md Normal file
View File

@@ -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
**状态**: 待解决

113
install_tjaf.sh Normal file
View File

@@ -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

View File

@@ -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