WTOAAM
===============

风力发电机组运行分析算法模型 Wind turbine operation analysis algorithm model

# django auth
    http://127.0.0.1/admin
    账号
    admin
    密码
    root.123456


# 附加进程调试
## 安装debugpy
    pip install --upgrade debugpy

## 运行程序命令
   机组发电性能分析算法v1.1
   示例：
   python -m debugpy --listen localhost:5678 --wait-for-client e:/WorkSpace/SourceCode/WTOAAM/wtoaamapi/apps/business/main.py
   
   
   机组发电性能分析算法v1.2
   调试示例：
   python -m debugpy --listen localhost:5678 .\wtoaamapi\manage.py runserver 0.0.0.0:8000
   运行示例：
   python .\wtoaamapi\manage.py runserver 0.0.0.0:8000
   
   

## 附加进程
   配置launch.json文件，内容如下：
   {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Remote Attach",  // 远程调试
            "type":"debugpy",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5678
            },
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}",
                    "remoteRoot": "."
                }
            ],
            "justMyCode": false
        }
        ]
    }
    打开要调试的源代码文件，在vscode搜索框选择"开始调试 debug"，"Python: Remote Attach"即lanuch.json文件中configurations[0].name节点值即可。

## pip 包管理清理缓存
    pip cache purge

## 打包为wheel及安装
    pip uninstall [包名]   示例：pip uninstall dataAnalysisBusiness
    python setup.py bdist_wheel   说明：在对应包的路径下执行此命令
    pip install --force-reinstall ./dist/*.whl   说明：在对应包的路径下执行此命令 示例：pip install --force-reinstall dist/dataAnalysisBusiness-1.2.202406281547-py3-none-any.whl

## 第三方包版本冲突
    # 解决windows环境plotly 包write_image方法 阻塞，使用如下包及版本：
    kaleido==0.1.0.post1
    plotly==5.19.0
    plotly-express==0.4.1
    pip install kaleido==0.1.0.post1 plotly==5.19.0 plotly-express==0.4.1

# 更新加载文件夹模块命令：
1、安装build包：pip insatall build
2、进入文件夹路径下运行python -m build命令，生成.whl文件和.tar.gz文件
3、加载生成的.whl文件：pip install dist/dataAnalysisBusiness-1.2.202501161710-py3-none-any.whl（根据实际修改）
4、加载完成继续测试

# 获取python程序依赖包

**务必确保：python程序所依赖的python site-packages路径（其下的包均为对应程序版本的“”最新依赖）、用户权限，以确定应该使用的pip工具**
pip install pip-tools pipreqs pipdeptree
pipdeptree 当前虚拟环境中所有安装的包以及它们的依赖关系树, 在源代码目录执行命令：pipdeptree
pipreqs   如果你的虚拟环境尚未安装任何依赖，pipreqs 将会扫描源代码并将依赖写入 requirements.txt。你可以根据 pipreqs 输出的 requirements.txt 文件，手动安装所需的依赖包。在源代码目录执行命令（其中 点为当前目录）： pipreqs . --force --ignore <path_to_non_python_files>
手动安装依赖：pip install -r requirements.txt


## 方案一
此方案 验证成功
执行如下命令：

**Linux**

```shell
sudo /usr/local/python3.9/bin/pip3.9 freeze | grep -vE 'repositoryZN|dataAnalysisBehavior|dataAnalysisBusiness|dataContract|dataAnalysisService' > requirements.txt

sudo /usr/local/python3.9/bin/pip3.9 download -r requirements.txt -d download
``` 

**windows**

```shell
pip freeze | Select-String -NotMatch 'repositoryZN|dataAnalysisBehavior|dataAnalysisBusiness|dataContract|dataAnalysisService' | Set-Content requirements.txt

pip download -r requirements.txt -d download
```


## 方案二
此方案 验证未成功 ，保留以供继续研究
1. pip install pip-tools pipreqs pipdeptree
2. 执行命令 pipreqs [指定目录] --force  在 指定目录下 生成 requirements.txt 文件
3. 执行命令 pip-compile requirements.txt --output-file=reqs.txt

## 配置信息
1. 禅道
   http://106.120.102.238:19090

2. 新git管理（gogs）
   地址：http://106.120.102.238:63000
   2.1 算法服务源代码（数据分析）地址：http://106.120.102.238:63000/zhzn/WTOAAM
   2.2 故障诊断源代码地址：
   2.2.1 轴承齿轮故障诊断源代码地址：http://106.120.102.238:63000/lcb/Auto_Diag
   2.2.2 温度故障诊断源代码地址：http://106.120.102.238:63000/lcb/Temp_Diag
   2.3 健康评估源代码地址：http://106.120.102.238:63000/lcb/Health_Evaluation
   2.4 振动分析源代码地址：http://106.120.102.238:63000/lcb/CMS
   2.5 大模型训练、微调验证源代码地址：http://106.120.102.238:63000/zhouyang.xie/deepseek_python

3.数据库
  地址（mysql）：106.120.102.238:10336
  业务数据库（测试）名：energy_data
  业务数据库（生产）名：energy_data_prod
  账户名：root
  密码：admin123456

  地址（mysql）：106.120.102.238:16306
  基础数据库（测试）名：energy
  基础数据库（生产）名：energy_prod
  基础数据库（演示）名：energy_show
  账户名：admin
  密码：admin123456

  地址（TIDB）：(无外网)
  业务数据库（测试）名：energy_data
  账户名：root
  密码：123456

  地址（TIDB）：(无外网)
  基础数据库（测试）名：energy
  账户名：root
  密码：123456

4.minio
   4.1 开发
   106.120.102.238:26900

   4.2 生产
   106.120.102.238:16900


5. 产品（系统）环境
   5.1 开发
   http://106.120.102.238:58880
    5.1.1 算法服务：
     部署至192.168.50.235（内网IP）服务器，为Deamon服务（路径：/etc/systemd/system/wtoaamapi.service），纳入systemctl管理
     程序目录（发电性能异常检测算法）：/data/source_code/WTOAAM
     程序目录（健康评估算法）：/data/source_code/CMS     在此目录下执行命令： uvicorn [FastAPI接口python文件名]:app --reload --host 0.0.0.0 --port 8888   示例： uvicorn api_20241201:app --reload --host --port 8777

    5.2 生产
    http://106.120.102.238:18000
     5.2.1 算法服务：
      部署至192.168.50.233（内网IP）服务器，为Deamon服务（路径：/etc/systemd/system/wtoaamapi.service），纳入systemctl管理
      程序目录：/data/source_code/WTOAAM_1.2.2

    5.3 演示
    http://106.120.102.238:28999
     5.3.1 算法服务：
      部署至192.168.50.233（内网IP）服务器，为Deamon服务（路径：/etc/systemd/system/wtoaamapi_show.service），纳入systemctl管理
      程序目录：/data/source_code/WTOAAM_Show

## 分支介绍
  WTOAAM-deploy -- 部署分支，将要部署的代码从master合并到该分支。
  master -- 主分支，所有分支代码测试无误后合并到master，新起分支都以该分支为准。
  develop-xxx(人名英文首字母缩写)  -- 个人开发分支。每个开发人员开发功能使用，开发完成并在本地进行测试无误后推送到远程仓库，并将代码合并到master分支。
  develop-v1.2.202407292348 -- 废弃，以master分支代码为准。
