setup_clean_env.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. # 创建干净的 conda 环境,避免 Qt 库冲突
  3. ENV_NAME="buff_client"
  4. PYTHON_VERSION="3.12"
  5. echo "正在创建独立的 conda 环境: $ENV_NAME"
  6. echo "这将避免 Anaconda 基础环境中的 Qt 库冲突问题"
  7. echo ""
  8. # 检查环境是否已存在
  9. if conda env list | grep -q "^${ENV_NAME} "; then
  10. echo "环境 $ENV_NAME 已存在"
  11. read -p "是否删除并重新创建? (y/n): " -n 1 -r
  12. echo
  13. if [[ $REPLY =~ ^[Yy]$ ]]; then
  14. echo "正在删除旧环境..."
  15. conda env remove -n $ENV_NAME -y
  16. else
  17. echo "使用现有环境"
  18. conda activate $ENV_NAME
  19. exit 0
  20. fi
  21. fi
  22. # 创建新环境,明确不安装 pyqt
  23. echo "正在创建新环境(不安装 pyqt)..."
  24. conda create -n $ENV_NAME python=$PYTHON_VERSION -y
  25. # 激活环境
  26. echo "正在激活环境..."
  27. source "$(conda info --base)/etc/profile.d/conda.sh"
  28. conda activate $ENV_NAME
  29. # 安装 pip 的 PyQt5(不安装 conda 的 pyqt)
  30. echo "正在安装 PyQt5(通过 pip)..."
  31. pip install PyQt5 pyqt5-qt5 pyqt5-sip
  32. # 安装其他依赖
  33. if [ -f "requirements.txt" ]; then
  34. echo "正在安装其他依赖..."
  35. pip install -r requirements.txt
  36. else
  37. echo "未找到 requirements.txt,跳过依赖安装"
  38. fi
  39. echo ""
  40. echo "✅ 环境设置完成!"
  41. echo ""
  42. echo "使用方法:"
  43. echo " conda activate $ENV_NAME"
  44. echo " python src/main.py"
  45. echo ""
  46. echo "或者使用启动脚本:"
  47. echo " ./run.sh"