Files
qmt_strategy/雪球6.0/Python环境自动配置.bat
2025-11-06 10:26:02 +08:00

214 lines
7.2 KiB
Batchfile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
echo ===============================================================================
echo 🎯 雪球跟单系统 - Python环境自动配置工具
echo 🚀 无需预装Python,一键完成所有环境配置
echo ===============================================================================
echo.
echo 🔍 检查系统环境...
:: 检查是否已安装Python
echo 正在检查Python安装状态...
python --version >nul 2>&1
if %errorlevel% == 0 (
echo ✅ 检测到已安装的Python
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set PYTHON_VERSION=%%i
echo 当前版本: !PYTHON_VERSION!
goto :check_pip
) else (
echo ❌ 未检测到Python安装
goto :install_python
)
:install_python
echo.
echo 📦 开始自动安装Python...
echo 正在下载Python 3.11.9安装包...
:: 创建临时目录
if not exist "%TEMP%\python_installer" mkdir "%TEMP%\python_installer"
cd /d "%TEMP%\python_installer"
:: 下载Python安装包
echo 🌐 从官方源下载Python安装包...
powershell -Command "try { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe' -OutFile 'python-installer.exe' } catch { exit 1 }"
if not exist "python-installer.exe" (
echo ❌ 下载失败,尝试备用下载源...
powershell -Command "try { [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri 'https://npm.taobao.org/mirrors/python/3.11.9/python-3.11.9-amd64.exe' -OutFile 'python-installer.exe' } catch { exit 1 }"
)
if not exist "python-installer.exe" (
echo ❌ 无法下载Python安装包,请检查网络连接
echo 💡 您可以手动下载:https://www.python.org/downloads/
pause
exit /b 1
)
echo ✅ 下载完成,开始安装...
echo.
echo 🔧 正在静默安装Python(包含pip和添加到PATH...
echo 请稍等,这可能需要几分钟...
:: 静默安装Python,自动添加到PATH
"python-installer.exe" /quiet InstallAllUsers=1 PrependPath=1 Include_test=0
if %errorlevel% == 0 (
echo ✅ Python安装成功!
) else (
echo ❌ Python安装失败
echo 💡 请尝试手动安装或以管理员身份运行此脚本
pause
exit /b 1
)
:: 刷新环境变量
echo 🔄 刷新环境变量...
:: refreshenv命令在标准Windows中不存在,跳过此步骤
:: 等待安装完成并验证
echo 等待安装完成...
timeout /t 10 /nobreak >nul
:check_pip
echo.
echo 🔍 验证Python和pip安装...
:: 重新检查Python
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ Python验证失败,可能需要重启命令行
echo 💡 请关闭此窗口,重新打开命令行后再次运行
pause
exit /b 1
)
:: 检查pip
pip --version >nul 2>&1
if %errorlevel% neq 0 (
echo ❌ pip未正确安装,尝试修复...
python -m ensurepip --upgrade
python -m pip install --upgrade pip
)
echo ✅ Python环境验证成功!
:install_dependencies
echo.
echo 📚 开始安装雪球跟单系统依赖库...
echo 🌐 使用多镜像源智能切换安装...
:: 升级pip
echo 正在升级pip...
python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
:: 安装依赖库
echo.
echo 📦 安装雪球跟单项目专用依赖库(共5个)...
echo 📋 安装列表:pandas, requests, pyyaml, pyjwt, pyqmt==1.0.4
:: 尝试阿里云镜像安装所有依赖
echo.
echo [1/4] 🇨🇳 尝试阿里云镜像安装...
python -m pip install pandas requests pyyaml pyjwt pyqmt==1.0.4 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com --timeout 60
if %errorlevel% == 0 (
echo ✅ 阿里云镜像安装成功!
goto :verify_installation
)
:: 尝试豆瓣镜像
echo [2/4] 📚 阿里云失败,尝试豆瓣镜像...
python -m pip install pandas requests pyyaml pyjwt pyqmt==1.0.4 -i https://pypi.douban.com/simple/ --trusted-host pypi.douban.com --timeout 60
if %errorlevel% == 0 (
echo ✅ 豆瓣镜像安装成功!
goto :verify_installation
)
:: 尝试清华镜像
echo [3/4] 🎓 豆瓣失败,尝试清华镜像...
python -m pip install pandas requests pyyaml pyjwt pyqmt==1.0.4 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn --timeout 60
if %errorlevel% == 0 (
echo ✅ 清华镜像安装成功!
goto :verify_installation
)
:: 尝试官方源
echo [4/4] 🌐 所有国内镜像失败,尝试官方源...
python -m pip install pandas requests pyyaml pyjwt pyqmt==1.0.4 --timeout 120
if %errorlevel% == 0 (
echo ✅ 官方源安装成功!
goto :verify_installation
)
echo ❌ 所有安装源都失败,请检查网络连接
echo 💡 您可以尝试:
echo 1. 检查网络连接
echo 2. 关闭防火墙/杀毒软件
echo 3. 手动运行:pip install pandas requests pyyaml pyjwt pyqmt==1.0.4
pause
exit /b 1
:verify_installation
echo.
echo 🎯 验证雪球跟单系统依赖库安装...
:: 验证基础库
echo 🔍 验证基础依赖库...
for %%p in (pandas requests yaml jwt) do (
python -c "import %%p; print('✅ %%p 安装正常')" 2>nul || echo%%p 安装失败
)
:: 特别验证pyqmt
echo 🔍 验证QMT交易库...
python -c "from pyqmt import pyqmt; print('✅ pyqmt 1.0.4 安装正常')" 2>nul || echo ❌ pyqmt 安装失败
echo.
echo 🎯 完整功能验证...
python -c "import pandas, requests, yaml, jwt; from pyqmt import pyqmt; print('✅ 雪球跟单系统所有依赖库验证成功!')" 2>nul
if %errorlevel% neq 0 (
echo ❌ 部分依赖库验证失败,但基础功能可以使用
echo 💡 如果遇到问题,请检查网络连接后重新运行
)
echo.
echo ===============================================================================
echo 🎉 环境配置完成!
echo ===============================================================================
echo.
echo ✅ Python 已安装并添加到系统PATH
echo ✅ pip 已配置并升级到最新版本
echo ✅ 雪球跟单系统专用依赖库已安装完成
echo ✅ 环境变量已自动配置
echo.
echo 📦 已安装的依赖库:
echo • pandas - 数据处理和分析
echo • requests - HTTP请求库
echo • pyyaml - YAML配置文件解析
echo • pyjwt - JWT令牌处理
echo • pyqmt 1.0.4 - QMT交易接口
echo.
echo 🚀 现在您可以运行雪球跟单系统了!
echo.
echo 💡 使用方法:
echo 1. 双击运行 "🚀一键安装并启动.bat"
echo 2. 或运行主程序:python 源代码\交易系统_优化版.py
echo.
echo 📝 如果遇到问题,请检查:
echo - 网络连接是否正常
echo - 是否以管理员身份运行
echo - 防火墙是否阻止了下载
echo - QMT客户端是否正确安装
echo.
echo 按任意键退出...
pause >nul
:: 清理临时文件
if exist "%TEMP%\python_installer" (
rd /s /q "%TEMP%\python_installer" >nul 2>&1
)
exit /b 0