最近无论在公司还是业余时间都挖了不少新坑,为了高效挖坑,不再复制粘贴,专门整理出这个用于创建 Python 项目的通用模板,若有需要可以拿去使用~
地址: https://github.com/reorx/project_sketch
其实之前就看过很多类似的东西,但都没有特别满意的,每个人(包括我)写的都或多或少掺有个人风格,很难做到完全通用。但这次自己组织的这个呢,有两个特点我觉得还是不错的:
不啰嗦。尽量不加不需要的东西,比如什么 MANIFEST.in
啊, CHANGES
啊;gitignore 会很简洁,不会像 这货 里面各种没见过;还有 LICENSE
, 说起来我觉得 90% 情况下大家写项目时是不需要带上 LICENSE
的,比如公司内的、自己顺手联系的,如果真的必要,去 这里 挑一个 ctrl-c 就好。
能看懂。一般一个 Python 项目中最复杂的脚手架文件莫非 setup.py
, Makefile
以及作为入口的启动脚本,setup.py
, Makefile
已经精简到几乎不需要改就可以用,启动脚本嘛我引入了 manage.py
这个文件,在其中使用了 click 这个我非常喜欢的 CLI 库, 随便改几行就可以很方便地创建命令了。
另外,对项目中的每一个文件都有比较详细的描述,也能起到一点 Python Packaging Tutorial 的作用 :)
P.S. 过两天会整理一个 flask 项目的启动模板,会比 fbone 好用一点点 :p
1
bcxx 2015-03-26 23:40:52 +08:00
为啥不用类似 paste 的东西来定义一下变量啊,这样就不用每次都改了
|
2
reorx OP @bcxx 想尽量保持简洁,不依赖外部库,而且创建新项目这件事情也不是真的频繁到 cp + mv 几下都觉得麻烦嘛。另外 paste 多年没有更新了,不想用这种古老的东西…
|
3
tiant167 2015-03-27 10:18:40 +08:00
已收藏~# 早啊~
|
4
felinx 2015-03-27 10:38:18 +08:00
小蜜蜂,赞!
|
6
dddd 2015-03-27 10:58:18 +08:00
我在别人的 makefile 里发现的,清除 pyc, pyo, ~备份文件的
可以加在 clean 里,怎样?? find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + find . -name '*~' -exec rm -f {} + |
7
netpro 2015-03-27 11:32:08 +08:00
期待flask的启动模板...
|
8
reorx OP @dddd clean 一般是用来清除对应的 build 命令所产生的文件,.py[co] 文件并非 build 产生,而是运行产生的,而且它既不会被包含在打出的 package 里,也由于 gitignore 的存在不会被 git 所 track,正常情况下我们对它的存在几乎是无感知的。我只有在怀疑遗留的 pyc 文件影响了我对模块的引用时才会去清除它,所以我的 zsh 里有一句 alias clean_pyc="find . -name '*.pyc' -exec rm {} \;"
至于 vim 的 backup file,正确的处理方式是让他放在固定的文件夹里,在 vim 配置里加上: set backupdir=~/.vim/backup 就好了。毕竟指不准哪天真的需要,你也不能随便把它清除了不是? |
11
reorx OP |
12
glasslion 2015-03-27 15:03:08 +08:00
Python, Django, Flask 都有官方推荐的模板, 还有那么多人喜欢重复造轮子
https://github.com/pypa/sampleproject https://github.com/audreyr/cookiecutter |