Ye-Song's picture
Add files using upload-large-folder tool
40201fe verified
#!/bin/bash
################################################################################
# Kimodo 环境初始化(完全独立版本)
################################################################################
set -e
WORKSPACE_DIR="/workspace"
ENV_DIR="${WORKSPACE_DIR}/env"
PYTHON_BIN="${ENV_DIR}/kimodo/bin/python"
# 颜色输出
print_info() {
echo -e "\033[32m[INFO]\033[0m $1"
}
print_error() {
echo -e "\033[31m[ERROR]\033[0m $1"
}
print_step() {
echo -e "\033[36m[STEP]\033[0m $1"
}
# 检查环境
check_env() {
if [ ! -f "${PYTHON_BIN}" ]; then
print_error "Python 环境未找到: ${PYTHON_BIN}"
exit 1
fi
print_info "Python 环境: ${PYTHON_BIN}"
print_info "Python 版本: $(${PYTHON_BIN} --version)"
}
# 检查系统工具
check_system_tools() {
print_step "检查系统工具..."
local missing=()
for tool in gcc g++ make cmake tar gzip bash; do
if ! command -v $tool &> /dev/null; then
missing+=($tool)
fi
done
if [ ${#missing[@]} -gt 0 ]; then
print_info "缺少系统工具: ${missing[*]}"
print_info "安装命令: sudo apt-get install -y build-essential cmake tar gzip"
echo ""
print_info "注意:这些工具需要目标机器已安装"
else
print_info "所有系统工具已安装"
fi
# 检查 CUDA
if command -v nvidia-smi &> /dev/null; then
print_info "检测到 CUDA: $(nvidia-smi --query-gpu=name --format=csv,noheader | head -1)"
else
print_info "未检测到 CUDA,将使用 CPU 模式"
fi
}
# 显示目录结构
show_structure() {
print_step "目录结构:"
echo ""
echo "${WORKSPACE_DIR}/"
echo "├── env/kimodo/ # Python 环境 (~9GB)"
echo "│ ├── bin/ # Python 和相关命令"
echo "│ ├── lib/ # Python 库"
echo "│ └── ..."
echo "├── kimodo/ # 项目代码"
echo "├── deps/ # 依赖信息"
echo "└── start_standalone.sh # 启动脚本"
echo ""
}
# 验证环境
verify_env() {
print_step "验证环境..."
${PYTHON_BIN} << VERIFY_EOF
import sys
print(f"Python: {sys.version}")
try:
import torch
print(f"✓ PyTorch: {torch.__version__}")
print(f"✓ CUDA: {'可用' if torch.cuda.is_available() else '不可用'}")
except ImportError as e:
print(f"✗ PyTorch: {e}")
try:
import kimodo
print(f"✓ Kimodo: 导入成功")
except ImportError as e:
print(f"✗ Kimodo: {e}")
print("\n验证完成")
VERIFY_EOF
}
# 主函数
main() {
echo ""
echo "======================================================================"
echo " Kimodo 环境初始化"
echo "======================================================================"
echo ""
check_env
check_system_tools
show_structure
verify_env
echo ""
print_info "======================================================================"
print_info "环境初始化完成!"
print_info ""
print_info "启动项目: ./start_standalone.sh"
print_info "======================================================================"
echo ""
}
main