fix: 修复 tjaf 依赖安装问题
- 注释掉无法访问的 GitHub 仓库依赖 - 添加 TJAF_INSTALL.md 安装说明文档 - 添加 install_tjaf.sh 自动安装脚本 - 提供多种 tjaf 包安装方案
This commit is contained in:
134
TJAF_INSTALL.md
Normal file
134
TJAF_INSTALL.md
Normal 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
113
install_tjaf.sh
Normal 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
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user