Cookiecutter: 更好的項目模板工具:(2)安裝及基礎使用

安裝

經過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模板基礎使用

Cookiecutter模板的形式:cookie

  • 模板文件夾
  • 模板文件夾的zip壓縮文件
  • 模板文件夾的git地址
  • 模板文件夾的zip壓縮文件url地址
  • 模板文件夾在cookiecutter目錄下

針對具體形式分別使用相同的命令形式:編輯器

# 模板文件夾
$ 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默認存儲在〜/.cookiecutters/目錄中

建立Cookiecutter模板

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)簡介及可用資源彙總中的某個模板~~~~~

相關文章
相關標籤/搜索