经过python包管理工具 命令行输入html
$pip install cookiecutter
或者python
# mac os常常会禁止用户全局安装python包 $pip install --user cookiecutter
若是使用的是anaconda,想使用conda
安装,能够git
$conda config --add channels conda-forge $conda install cookiecutter
***特别提醒:要保证Python在你的系统PATH路径下,同时保证bin
目录在你的系统PATH路径下。特别提醒,anaconda安装的Python,其安装的python执行文件默认不在系统路径下,通常在·$ANACONDA/bin·,请将其放置在系统路径下。github
经过系统的包管理json
ubuntuubuntu
$sudo apt install cookiecutter
mac osbash
$brew install cookiecutter
Cookiecutter模板的形式:cookie
针对具体形式分别使用相同的命令形式:编辑器
# 模板文件夹 $ cookiecutter /path/to/template # 模板文件夹zip压缩包文件 $ cookiecutter /path/to/template.zip # 模板文件夹的git地址 $ cookiecutter git地址 $ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git --checkout develop # 模板文件夹zip压缩文件URL $ cookiecutter https://example.com/path/to/template.zip # 模板文件夹在cookiecutter目录(缺省会~/.cookiecutters/目录下) $ cookiecutter 模板名字
特别针对有密码的zip文件,cookiecutter回给出提示符让你输入密码,若是想跳过密码输入,能够设置COOKIECUTTER_REPO_PASSWORD
环境变量,在zip文件须要密码的时候会自动填入该环境变量的值。工具
总体须要注意的:
〜/.cookiecutters/
目录中Cookiecutter功能原理是获取模板的源目录树并将其复制到新项目中,将在模板用{{
和}}
标记中找到的全部名称替换为cookiecutter.json
文件中找到的名称。
替换的名称能够是文件名、目录名和文件中的字符串。
使用Cookiecutter,你能够轻松地从一个标准表单引导一个新项目,这意味着在开始一个新项目时,你能够跳过全部常见的错误,拜托琐碎操做带来的时间消耗以快速开始有真正意义的工做。
如下以一个简单的“Hello World”来介绍Cookiecuter的建立过程:
首先,在您的计算机上建立一个目录。这个目录的名称将是您的Cookiecutter模板的名称,可是它并不限制任何其余内容——例如,生成的项目不须要使用模板名称。咱们将项目名称设为HelloWorld
$ mkdir HelloWorld $ cd HelloWorld
咱们在此目录中建立要复制到生成项目中的目录树。咱们想要为此目录生成一个名称,因此咱们将目录名称放在模板标签中:
$ mkdir {{ cookircutter.directory_name }} $ cd {{ cookircutter.directory_name }}
模板标记中的任何内容均可以放在名称空间中。cookiecutter.directory_name
将被从cookiecutter.json
文件中查找,由于该项目是由Cookiecutter生成的。
现 咱们在将要被复制的目录树中。对于这个最简单的Cookiecutter模板,咱们打算只包含一个文件。一样,咱们但愿从cookiecutter.json
中查找文件名,所以咱们将其命名为:
$ touch {{cookiecutter.file_name}}.py
(touch
会建立一个空文本文件;你能够在编辑器中打开它)。 如今编辑文件,使其包含:
print("Hello, {{cookiecutter.greeting_recipient}}!")
最后,咱们来建立cookiecutter.json
文件,以便Cookiecutter能够查找咱们所须要模板项。
{ "directory_name": "Hello", "file_name": "Howdy", "greeting_recipient": "Tacey" }
如今咱们能够运行Cookiecutter并从模板建立一个新项目。切换到要建立新项目的目录。而后运行Cookiecutter并将模板所在的目录传给它。
$ cookiecutter /the/path/of/HelloWorld directory_name [Hello]: file_name [Howdy]: greeting_recipient [Tacey]:
Cookiecutter告诉咱们每一个项目的默认名称是什么,并为咱们提供了用新名称替换该名称的选项。在这种状况下我只是简单的按回车接受全部的默认值~
如今咱们生成了一个名为Hello
的目录,其中包含一个文件how .py
。当咱们运行它:
$ python Howdy.py Hello, Tacey!
Wow!这就完事儿了~
到了这里,若是你在开始新项目时发现本身在重复工做,你就已经会知道如何使用cookiecutter消除这种无谓的重复了。对于一些常见的项目,不妨尝试选择使用Cookiecutter: 更好的项目模板工具:(1)简介及可用资源汇总中的某个模板~~~~~