打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
cookiecutter-一个从cookiecutter(项目模板)创建项目的命令行工具python库

Cookiecutter是用于从cookiecutter(项目模板)创建项目的工具。、

  这到底是什么做什么用的?请看下文。

案例研究

cookiecutter-pypackage是一个cookiecutter模板,用于为Python软件包创建入门模板。

步骤1:产生Python封装专案

打开您的shell,并cd进入您要创建Python入门包项目的目录。

在命令行上,运行cookiecutter命令,将链接传递给cookiecutter-pypackage的HTTPS克隆URL,如下所示:

$ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git

项目模板的本地克隆:

首先,将cookiecutter-pypackage克隆到〜/ .cookiecutters /(或Windows上的类似的文件)。Cookiecutter会自动为您完成此操作。

本地项目生成:

克隆完成后,系统将提示您输入一堆值,例如full_name,email和project_name。输入您的信息,或直接按回车/输入以接受默认值。

此信息将用于填补您的项目的空白。例如,您的姓名和年份将被放入LICENSE文件中。

步骤2:探索产生了什么

在当前目录中,您应该看到生成了一个项目:

$ ls

boilerplate

在boilerplate /目录(或与project_slug对应的目录)中,您应该看到类似以下内容:

这就是您的新项目里面的文件。

如果打开AUTHORS.rst文件,应该看到类似以下内容:

请注意,它是如何使用您(或我)的姓名和电子邮件自动填充的。

还请注意您正在查看ReStructuredText文件的事实。Cookiecutter可以使用任何类型的文本文件生成一个项目。

步骤3:观察它是如何产生的

让我们一起看一下cookiecutter-pypackage。在新的浏览器窗口中打开github.com/audreyr/cookiecutter-pypackage。

找到名为{{cookiecutter.project_slug}}的目录,点击它,观察其中的文件。您应该看到此目录及其内容与您刚生成的项目相对应。

这发生在find.py,其中find_template()方法查找第一个目录名称并启动。

现在,导航回升至18.11/pypackage 并打开 cookiecutter.json文件。

您应该看到与项目生成期间前面显示的提示和默认值相对应的JSON:

{

    "full_name": "Audrey Roy Greenfeld",

    "email": "aroy@alum.mit.edu",

    "github_username": "audreyr",

    "project_name": "Python Boilerplate",

    "project_slug": "{{ cookiecutter.project_name.lower().replace(' ', '_') }}",

    "project_short_description": "Python Boilerplate contains all the boilerplate you need to create a Python package.",

    "pypi_username": "{{ cookiecutter.github_username }}",

    "version": "0.1.0",

    "use_pytest": "n",

    "use_pypi_deployment_with_travis": "y",

    "create_author_file": "y",

    "open_source_license": ["MIT", "BSD", "ISCL", "Apache Software License 2.0", "Not open source"]

}

安装cookiecutter

在命令行中运行:$ pip install --user cookiecutter

或者,如果您没有pip,可以直接在网盘下载cookiecutter的源代码。

示例

这是一个简单的cookiecutter的目录结构:

  你必须有:

  • 一个cookiecutter.json文件。

  • 一个{{cookiecutter.project_name}} /目录,其中 PROJECT_NAME在您定义cookiecutter.json。

除此之外,您还可以拥有所需的任何文件/目录。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
如何使用 Python 开始建立你的数据分析项目
超干!如何建立一个完美的 Python 项目?
收藏!四个 Python 项目管理与构建工具
独家|手把手教你组织数据科学项目!(附代码)
Python开发必备:如何建立一个完美的项目工程环境
5 个最受人喜爱的开源 Django 包
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服