编译python make test_如何在Python项目中使用Makefile?

Python 是一门伟大的程序语言, 其简单的语法吸引了无数的程序猿。但提到Python项目的构建工具,似乎做的不是很好,可以说Python社区的一个缺陷。

今天介绍一下如何利用Makefile,来提升Python项目的构建体验。

可能有人会觉得奇怪Makefile不是用来编译C代码的吗? 而且这是一个非常古老的工具了。

Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。但是实际上 ,任何只要某个文件有变化,就要重新构建的项目,都可以用Make构建。

通过一个实际的Makefile脚本来看看如何让构建变得简单。

.PHONY: help prepare-dev test lint run doc

VENV_NAME?=venv

VENV_ACTIVATE=. $(VENV_NAME)/bin/activate

PYTHON=${VENV_NAME}/bin/python3

.DEFAULT: help

help:

@echo "make prepare-dev"

@echo " prepare development environment, use only once"

@echo "make test"

@echo " run tests"

@echo "make lint"

@echo " run pylint and mypy"

@echo "make run"

@echo " run project"

@echo "make clean"

@echo " clean python cache files"

@echo "make doc"

@echo " build sphinx documentation"

# 安装python 和 搭建虚拟环境

prepare-dev:

sudo apt-get -y install python3.6 python3-pip

python -m venv venv

# 进入虚拟环境

venv: $(VENV_PATH)/bin/activate

source $(VENV_PATH)/bin/activate

test: venv

${PYTHON} -m pytest

lint: venv

${PYTHON} -m pylint

${PYTHON} -m mypy

run: venv

${PYTHON} app.py

clean-pyc:

@find . -name '*.pyc' -delete

@find . -name '__pycache__' -type d | xargs rm -fr

@find . -name '.pytest_cache' -type d | xargs rm -fr

clean:clean-pyc

@echo "## Clean all data."

doc: venv

$(VENV_ACTIVATE) && cd docs; make html

说明

通过这个Makefile,可以非常轻松来创建Python

项目,只需要 执行 make prepare-dev就可以构建好python

基础环境。

每次进入项目开发不用打很长一串source project /bin/activate,只需要执行 make venv即可。

另外,根据实际项目需要,还可以定制target来简化命令执行。比如:

login_db:

docker-compose run db bash

通过以上命令可以把登录docker数据库系统的命名简化到make login_db。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值