cookiecutter:更好的项目模板工具:安装及基础使用(代码片段)

taceywong taceywong     2023-03-09     284

关键词:

安装

通过python包管理工具
命令行输入

 $pip install  cookiecutter

或者

# mac os经常会禁止用户全局安装python包
$pip install --user cookiecutter

如果使用的是anaconda,想使用conda安装,可以

$conda config --add channels conda-forge
$conda install cookiecutter

特别提醒:要保证Python在你的系统PATH路径下,同时保证bin目录在你的系统PATH路径下。特别提醒,anaconda安装的Python,其安装的python执行文件默认不在系统路径下,一般在·$ANACONDA/bin·,请将其放置在系统路径下。

通过系统的包管理

ubuntu

$sudo apt install cookiecutter

mac os

$brew install cookiecutter

Cookiecutter模板基础使用

Cookiecutter模板的形式:

  • 模板文件夹
  • 模板文件夹的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)简介及可用资源汇总中的某个模板~~~~~

vue项目模板--和--webpack自动化构建工具的---项目打包压缩使用

【首先安装node.js】:1.从node.js官网下载并安装node,安装过程很简单。2.npm版本需要大于3.0,如果低于此版本需要升级它:#查看版本npm-v2.3.0#升级npmcnpminstallnpm-g3.基于node.js,利用淘宝npm镜像安装相关依赖。由于国内使用npm会很慢,... 查看详情

sh为数据科学项目设置cookiecutter项目文件夹(代码片段)

查看详情

如何使用docker上传和部署django cookiecutter项目到heroku?

】如何使用docker上传和部署djangocookiecutter项目到heroku?【英文标题】:Howtouploadanddeploydjangocookiecutterproject,withdocker,toheroku?【发布时间】:2018-08-0505:42:46【问题描述】:我正在使用djangocookiecutter(使用docker和heroku设置)开发一个应... 查看详情

更改unity项目新建模板

在新建Unity项目时,Unity会默认给我们建立一个文件夹并在里面放置一个已经创建好的场景,这个场景叫做SampleScene。通常我们会将这个场景删掉或者将其重命名为Main或是其他自己项目需求的名称继续使用;在新建脚本或者新建... 查看详情

可协作的原型设计工具(附行业模板素材)

...用*官网推荐大家使用墨刀桌面客户端进行操作,能带来更好的使用体验。*如使用网页版,可以用chrome浏览器(最新版)登录,使用IE、360浏览器等可能产生兼容性问题。注册/登录墨刀后,首先到达的是「项目管理页」,创建的... 查看详情

springboot学习-11更好用的代码生成工具easycode

之前的mybatis代码生成工具无法自定义模板,找了一个可以自定义模板的插件,初学者最好用比较齐全的代码生成工具,不然拼错一个代码会掉坑里半天爬不出来。有的同学会说干么不用mybatis-plus,主要我之前一直用hibernate这种编... 查看详情

Cookiecutter Django 不适合 PostgreSQL

】CookiecutterDjango不适合PostgreSQL【英文标题】:CookiecutterDjangodoesn\'tplaynicewithPostgreSQL【发布时间】:2015-12-2609:28:07【问题描述】:我一直在尝试使用CookiecutterDjango启动一个项目,但无法正常连接数据库。这是我所做的:pipinstallcook... 查看详情

如何创建java项目模板?

我想做一个自己的项目模板文件,不知道该从哪里入手,请大家不吝赐教不是啊这两种工具我都有涉及,不过Eclipse中没有发现这种能创建项目模板的方法啊。类似swtdesigner安装后,新建-》文件中多了swt的相关文件那种用eclipse插... 查看详情

struts 项目中的瓷砖 - 比 freemarker 更好?

】struts项目中的瓷砖-比freemarker更好?【英文标题】:tilesinstrutsproject-betterthanfreemarker?【发布时间】:2010-09-1523:13:54【问题描述】:我想在struts应用程序中使用模板引擎,并且想知道是否可以推荐使用TILES来代替FREEMARKER或VELOCITY... 查看详情

vscode工具开发vue项目必装插件(代码片段)

VsCode工具开发vue项目必装插件目录VsCode工具开发vue项目必装插件1.概述2.VsCode插件清单2.1.Vetur插件让vue文件代码高亮2.2.VueVSCodeSnippets自动生成vue模板内容插件1.安装插件2.使用插件生成vue模板代码2.3.LiveServer实时刷新网页1.安装LiveSe... 查看详情

vue-cli(vue的脚手架搭建过程)

...是脚手架工具,作用就是用配置好的模板迅速搭建起一个项目,省去了自己配置webpack文件。 搭建脚手架步骤:  一、环境搭建    1)在官网下载安装node.js,安装装完,输入node-v,出现版本号就说明安装成功    &nb... 查看详情

devops-5:jenkins配置java-maven项目模板job(代码片段)

前言前文DevOps-4:Jenkins配置.Net项目模板Job介绍了.Net项目的模板配置和正式项目配置,本文会介绍一下Java项目的模板配置过程。注:下面的步骤里,如果在你的配置过程没有找到对应的配置,请参考:DevOps-1:持... 查看详情

devops-5:jenkins配置java-maven项目模板job(代码片段)

前言前文DevOps-4:Jenkins配置.Net项目模板Job介绍了.Net项目的模板配置和正式项目配置,本文会介绍一下Java项目的模板配置过程。注:下面的步骤里,如果在你的配置过程没有找到对应的配置,请参考:DevOps-1:持... 查看详情

搭建maven环境

...版本,若升级maven的版本,则JDK的版本也需要升级3.为了更好的了解maven的使用,借用的强大的eclipse开发工具来理解maven的强大废话不多说,下面安装基于 查看详情

Apache JDBC Utilts 与 SpringJDBC 模板。哪个更好?

】ApacheJDBCUtilts与SpringJDBC模板。哪个更好?【英文标题】:ApacheJDBCUtiltsvsSpringJDBCtemplate.Whichisisbetter?【发布时间】:2019-08-0718:18:21【问题描述】:我一直在争论是否在我的项目中使用jdbcTemplate和apacheDBUtils。我的应用程序是一个spri... 查看详情

在 VS 2010 项目模板中自动安装 NuGet 包

】在VS2010项目模板中自动安装NuGet包【英文标题】:InstallNuGetpackagesautomaticallyinVS2010projecttemplate【发布时间】:2011-12-1618:56:08【问题描述】:当我在VisualStudio2010中基于我的自定义项目模板创建新项目时,谁能与我分享如何(或在... 查看详情

开发工具intellijidea的安装步骤及首次启动和创建项目

...续点击Install进入下一步5.安装完毕,点击finishjava程序的项目结构如下图所示 IDEA首次驱动1.选择不导入任何设置,点击OK2.选择CreateNewProject3.点击new按钮,配置安装的 对应的(JDK9)版本  4.不使用模板5:为工程起名... 查看详情

vue搭建项目的步骤及详解

一、项目环境的搭建  1、安装nodejs    官网下载nodejs:https://nodejs.org/en/    Node.js自带npm包管理工具,使用npm可使我们快速安装项目中所需要的组件。    终端中输入如下命令行,检查node的版本:node--version  ... 查看详情