ipython, hotreload 和 make.py

我逐渐远离了 Makefile,转而用每个项目特制的 make.py 完成类似的任务。同时也不希望写很多命令行参数解析,因为也比较厌烦了。

所以我现在的选择多半是用 ipython 的 Shell,通过交互式命令行唤起脚本里特定的函数来完成任务。

这个想法的第一个问题就是当前目录需要是一个 python 包,不然 import make 是无效的。为此我需要创建一个空的 __init__.py 文件,看起来有点奇怪。

第二个问题是 import make 这个动作是有缓存的,只要 Shell 不重启,make.py 的修改不能及时反馈到交互式命令行里。为此我找到了 hotreload 这个库:

from hotreload import Loader
make = Loader('make.py')

这样调用 make 模块的函数就是无缓存的了。而且它没了 import make 这个动作,也不需要奇奇怪怪的 __init__.py 了。

我认为这个过程也适用于其他的开发过程,只是还没有这样的体验。

你可能感兴趣的:(ipython, hotreload 和 make.py)