【mlflow 系列8】向 mlflow 提交pr(pull request)

背景

因为之前在帮助算法同事进行mlflow 模型调优的过程中,涉及到mlflow一项优化点,所以给mlflow提交了一个pr

操作

参照官网提供的python contributing,所以按照他的提示一步一步来就可以,
但是在提交pr的过程中还是得注意几点,

  • 描述清楚问题
  • 进行单元测试
  • 进行代码格式化

在代码格式化这个问题上,我就花了一天去搞定,因为之前不太熟悉python,所以有点着急(其实也是没有踏踏实实按照官网的操作来),导致花了一天的时间,在此记录一下过程

  • 写完代码后,进行black --line-length=100 --exclude=mlflow/protos .
    这一步是用black格式话代码
  • 提交pr前进行单元测试以及linter pass
    ./lint.sh
    ./dev/run-small-python-tests.sh
    ./dev/run-large-python-tests.sh
    
    其实在单元测试的时候, 也不一定要全部测试,如果你的没标志类似@pytest.mark.large这种注解的话,只需要运行./dev/run-small-python-tests.sh就行,当然我们也可以更加严谨一点
  • 提交pr,就是git的操作 git commit/git push等等

其实最想说的一点是python的格式化和单元测试工具,因为对于java来说,还得自己配置maven插件,而对于python来说是有现成的工具的
打开mlflow下的 lint.sh文件,我们就能看到几种工具

  • black 代码格式化工具,按照通用的代码格式进行格式化,
  • pycodestyle 代码风格检查工具
  • pylint 原代码分析器,可以分析代码错误以及代码风格
    这三种工具都可以通过pip install 安装
上一篇:ArcGIS中模型构建器:基于DEM提取矢量河网(附练习数据下载)


下一篇:SQL语句中的having和where的区别