| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/bin/bash
- # 配置部分 - 可以根据需要修改
- FOLDERS_TO_COPY=(".claude") # 要复制的文件夹列表
- FILES_TO_COPY=("CLAUDE.md" "clone_project.sh") # 要复制的具体文件列表
- FILE_EXTENSIONS=("pdf") # 要复制的文件后缀列表
- # Python 依赖包配置
- PYTHON_REQUIREMENTS=(
- "langgraph"
- "langchain-openai"
- "langchain-google-genai"
- )
- # 获取当前文件夹名称
- CURRENT_FOLDER=$(basename "$(pwd)")
- # 获取当前日期(格式:MMDD_HHMM)
- DATE=$(date +"%m%d_%H%M")
- # 组合新文件夹名称
- NEW_FOLDER="${CURRENT_FOLDER}_${DATE}"
- # 在父目录中创建新文件夹的完整路径
- NEW_FOLDER_PATH="../${NEW_FOLDER}"
- echo "当前文件夹: $CURRENT_FOLDER"
- echo "新文件夹名称: $NEW_FOLDER"
- echo "新文件夹路径: $NEW_FOLDER_PATH"
- # 检查新文件夹是否已存在
- if [ -d "$NEW_FOLDER_PATH" ]; then
- echo "错误: 文件夹 '$NEW_FOLDER_PATH' 已存在"
- exit 1
- fi
- # 在父目录中创建新文件夹
- echo "在父目录中创建文件夹: $NEW_FOLDER"
- mkdir -p "$NEW_FOLDER_PATH"
- # 复制指定的文件夹
- echo "正在复制指定文件夹..."
- for folder in "${FOLDERS_TO_COPY[@]}"; do
- if [ -d "$folder" ]; then
- echo "复制文件夹: $folder 到 $NEW_FOLDER"
- cp -r "$folder" "$NEW_FOLDER_PATH/"
- else
- echo "警告: 文件夹 '$folder' 不存在,跳过复制"
- fi
- done
- # 复制指定的文件
- echo "正在复制指定文件..."
- for file in "${FILES_TO_COPY[@]}"; do
- if [ -f "$file" ]; then
- echo "复制文件: $file 到 $NEW_FOLDER"
- cp "$file" "$NEW_FOLDER_PATH/"
- else
- echo "警告: 文件 '$file' 不存在,跳过复制"
- fi
- done
- # 复制指定后缀的文件
- echo "正在复制指定后缀的文件..."
- for ext in "${FILE_EXTENSIONS[@]}"; do
- FILES_FOUND=$(find . -maxdepth 1 -name "*.${ext}" -type f)
- if [ -n "$FILES_FOUND" ]; then
- echo "复制 *.${ext} 文件到 $NEW_FOLDER"
- cp *.${ext} "$NEW_FOLDER_PATH/" 2>/dev/null
- echo "已复制的 *.${ext} 文件:"
- ls -1 "$NEW_FOLDER_PATH"/*.${ext} 2>/dev/null | sed 's/.*\// - /'
- else
- echo "警告: 当前目录下没有找到 *.${ext} 文件"
- fi
- done
- # 创建 requirements.txt 文件
- echo "正在创建 requirements.txt 文件..."
- REQUIREMENTS_FILE="$NEW_FOLDER_PATH/requirements.txt"
- > "$REQUIREMENTS_FILE" # 清空文件
- for package in "${PYTHON_REQUIREMENTS[@]}"; do
- echo "$package" >> "$REQUIREMENTS_FILE"
- done
- echo "requirements.txt 文件已创建,包含以下依赖包:"
- cat "$REQUIREMENTS_FILE" | sed 's/^/ - /'
- echo "操作完成!"
- echo "新文件夹 '$NEW_FOLDER' 已创建,并已复制相关文件。"
- # 检查 conda 是否可用
- if ! command -v conda &> /dev/null; then
- echo "错误: conda 未找到,请确保已安装 conda 并添加到 PATH"
- exit 1
- fi
- # 初始化 conda(确保在当前 shell 中生效)
- eval "$(conda shell.bash hook)"
- echo "正在创建 conda 环境: ${NEW_FOLDER}"
- conda create -n "${NEW_FOLDER}" python=3.10 -y
- echo "正在激活环境并安装依赖包..."
- conda run -n "${NEW_FOLDER}" pip install -r "${NEW_FOLDER_PATH}/requirements.txt"
- echo "✅ 环境创建完成!"
- echo "📋 使用以下命令激活环境:"
- echo " conda activate ${NEW_FOLDER}"
- echo ""
- echo "📦 已安装的包:"
- conda run -n "${NEW_FOLDER}" pip list | grep -E "(langgraph|langchain)"
- echo "新工程路径:"
- echo " $(cd .. && pwd)/$NEW_FOLDER"
- #删除 conda env remove -n env_name
|