# Python虚拟环境跨平台配置说明 ## 📋 概述 Go服务已支持跨平台调用Python脚本,可以在Windows和Ubuntu/Linux环境下正常运行。 ## 🔄 Windows vs Linux 路径对比 ### Windows环境 ``` backend/ ├── venv/ │ ├── Scripts/ ← Windows使用Scripts目录 │ │ ├── python.exe │ │ ├── activate.bat │ │ └── ... │ └── Lib/ ``` **Python解释器**: `backend/venv/Scripts/python.exe` ### Ubuntu/Linux环境 ``` backend/ ├── venv/ │ ├── bin/ ← Linux使用bin目录 │ │ ├── python │ │ ├── activate │ │ └── ... │ └── lib/ ``` **Python解释器**: `backend/venv/bin/python` ## 🚀 部署步骤 ### 在Ubuntu服务器上部署 1. **创建Python虚拟环境**: ```bash cd /path/to/backend python3 -m venv venv ``` 2. **激活虚拟环境**: ```bash source venv/bin/activate ``` 3. **安装依赖**: ```bash pip install -r requirements.txt playwright install chromium ``` 4. **启动Go服务**: ```bash cd /path/to/go_backend go run main.go ``` ### 在Windows上开发 1. **创建Python虚拟环境**: ```cmd cd backend python -m venv venv ``` 2. **激活虚拟环境**: ```cmd venv\Scripts\activate ``` 3. **安装依赖**: ```cmd pip install -r requirements.txt playwright install chromium ``` 4. **启动Go服务**: ```cmd cd go_backend go run main.go ``` ## 🔧 技术实现 ### 跨平台路径检测 Go代码中使用`runtime.GOOS`自动检测操作系统: ```go func getPythonPath(backendDir string) string { if runtime.GOOS == "windows" { // Windows: venv\Scripts\python.exe return filepath.Join(backendDir, "venv", "Scripts", "python.exe") } // Linux/Mac: venv/bin/python return filepath.Join(backendDir, "venv", "bin", "python") } ``` ### 使用位置 该函数在以下服务中被调用: - `service/xhs_service.go` - 小红书登录服务 - `service/employee_service.go` - 员工服务(绑定小红书账号) ## ✅ 验证部署 ### 测试Python环境 ```bash # Ubuntu cd backend source venv/bin/activate python xhs_cli.py --help # Windows cd backend venv\Scripts\activate python xhs_cli.py --help ``` ### 测试Go调用 ```bash # 启动Go服务后,测试发送验证码接口 curl -X POST http://localhost:8080/api/employee/xhs/send-code \ -H "Content-Type: application/json" \ -d '{"phone":"13800138000"}' ``` ## ⚠️ 注意事项 1. **不要提交venv目录到Git**:已在`.gitignore`中配置忽略 2. **环境隔离**:Windows和Ubuntu各自维护独立的venv环境 3. **依赖一致性**:确保requirements.txt在两个平台上一致 4. **Playwright浏览器**:在Ubuntu上需要安装chromium依赖库 ## 🐛 常见问题 ### Q: Ubuntu上提示找不到Python **A**: 确保已安装Python3: ```bash sudo apt update sudo apt install python3 python3-venv python3-pip ``` ### Q: Playwright启动失败 **A**: 安装系统依赖: ```bash playwright install-deps chromium ``` ### Q: Go服务找不到Python脚本 **A**: 检查`backend`目录与`go_backend`目录的相对位置,确保为: ``` project/ ├── backend/ # Python脚本 └── go_backend/ # Go服务 ``` ## 📚 相关文档 - [Go服务环境变量配置](ENV_CONFIG_GUIDE.md) - [Python CLI工具文档](../backend/XHS_CLI_README.md)