美文网首页
如何在Python项目中使用Makefile?

如何在Python项目中使用Makefile?

作者: KaiW | 来源:发表于2018-08-28 19:29 被阅读271次

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。

参考


相关文章

  • 如何在Python项目中使用Makefile?

    Python 是一门伟大的程序语言, 其简单的语法吸引了无数的程序猿。但提到Python项目的构建工具,似乎做的不...

  • Linux Kernel Makefiles特殊符号

    Makefile基本规则: Makefile文件中可使用特殊的符号简化Makefile文件的书写。 1、$@:表示...

  • Makefile 的 *** missing separator

    Makefile 的使用还是挺方便的,例如:在项目的根目录下的 Makefile 文件里添加 执行 make ru...

  • Makefile的基本使用

    Makefile的基本使用 首先需要有一个Makefile文件然后执行make即可完成所有的Makefile中定义...

  • Makefile

    1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 ...

  • python虚拟环境的创建

    有时候项目A需要在python2中运行,项目B需要在python3中运行,项目A和B使用同一个包,项目A使用1.0...

  • 使用VS Code时如何切换Python版本?VS Code中如

    1. 使用VS Code时如何切换Python版本?VS Code中如何在Python3与Python2之间自由切...

  • tensorflow-gpu使用

    python代码中设置使用的GPU 如果要在python代码中设置使用的GPU(如使用pycharm进行调试时),...

  • ubuntu 14.04上安装Caffe

    从github上下载代码 如果使用python进行开发,需要安装依赖的库 准备Makefile 修改Makefil...

  • darknet在Linux上编译

    直接在项目目录下make,如果不成功就make clean后修改makefile后重来。注意makefile中的a...

网友评论

      本文标题:如何在Python项目中使用Makefile?

      本文链接:https://www.haomeiwen.com/subject/xmszbftx.html