当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pyscaffold用法及代码示例


从 Python 项目开始通常非常复杂,因为它涉及设置和配置一些文件。这是哪里pyscaffold它是一个用于设置新的 python 项目的工具,非常易于使用,并且在 10 秒内即可设置您的项目!要使用 Pyscaffold,Git 是必须的,特别是Windows用户应该安装“Git Bash”。此外,安装PyScaffold还需要最新版本的“setup tools”。
每个Python包项目在内部都由PyScaffold表示为与文件系统中的目录条目直接相关的树形数据结构。该树被实现为一个简单的字典,其中键表示生成文件的路径,而值表示文件的内容。

安装

要使用 pip 安装 Pyscaffold,请执行以下命令来安装最新的 Pyscaffold 版本:

pip install --upgrade pyscaffold

如果你没有安装pip,请参考这篇文章:如何安装pip命令
PyScaffold 也可以通过在 Anaconda 命令提示符上执行以下操作来与 conda 一起安装:

conda install -c conda-forge pyscaffold


如果你看到这样的内容,那么这意味着Pyscaffold已经安装成功了!

设置新项目

PyScaffold 附带许多特性和默认配置,使开发、维护和分发您自己的 Python 包的频繁任务尽可能简单。
要设置新的 python 项目,请使用 putup 命令:

putup Your_Project

这将创建一个文件夹Your_Project,其中包含Python项目的项目布局,它有一个Your_Project包文件夹以及文档和测试文件夹以及文件setup.py、setup.cfg、AUTHORS.txt、README.txt和许可证.txt。所有配置都在“setup.cfg”而不是setup.py中完成。在这里,您可以更改与包相关的所有设置(即作者、URL、许可证等)。另外,要添加其他数据文件,我们可以在setup.cfg中添加它们的名称,它们将被自动添加。
PyScaffold 旨在涵盖编写和分发 Python 包的基本知识。大多数时候,设置放置选项足以确保项目的正确配置。 PyScaffold 可以在运行时由其他 Python 包扩展。还可以编写嵌入PyScaffold的外部脚本或程序,并使用它来执行一些用户定义的操作。
例子:

Python3


# Temporarily adjust padding 
# while executing a context.
from pyscaffold.log import logger
logger.report('invoke', 'custom_action')
with logger.indent():
    logger.report('create', 'some / file / path')
# Expected logs:
# --------------------------------------
# invoke  custom_action
# create    some / file / path
# --------------------------------------
# Note how the spacing between activity and
# subject in the
# second entry is greater than the equivalent
# in the first one.

更新:

  • 每当 PyScaffold 发布新更新时,您可以使用此命令来更新
    您的项目的结构/脚手架:
output --update my_project
  • 更新只会更新用户不经常使用或修改的文件,因此,
    更新所有文件,使用强制更新:
--update --force
  • Note:
    • 如果您要从 2.0 之前的 PyScaffold 版本进行更新,则必须手动删除文件 versioneer.py 和 MANIFEST.in。
    • 如果您要从 2.2 之前的版本更新,则必须删除 ${PACKAGE}/_version.py。

如何迁移到PyScaffold

最初,项目(假设my_project)必须位于 Git 存储库上,并包含一个包(假设my_package)以及 python 模块。
注意:您的工作树不是脏的,即所有更改都已提交并且所有重要文件都处于版本控制之下。

  • 首先更改为 my_project 的父文件夹,然后键入以下命令,以便在存储库中部署新的项目结构。
putup my_project --force --no-skeleton -p my_package
  • 更改为 my_project 并使用此命令将旧包文件夹移动到 src 中,如果项目有除测试之外的测试文件夹或除文档之外的文档文件夹,请使用相同的技术。
git mv my_package/* src/my_package/
  • 使用 git status 检查未跟踪的文件并使用 git add 添加它们。
  • 。最后,使用 git difftool 检查所有覆盖的文件是否有需要传输的更改。您可能在 setup.py 中完成的所有配置都需要移至 setup.cfg。在大多数情况下,您不需要更改 PyScaffold 提供的新 setup.py 文件。
  • 运行这些命令来检查一切正常:
run python setup.py install and python setup.pysdist
  • 还运行 python setup.py docs 和 python setup.py test 以检查 Sphinx 和 PyTest 是否正确运行。


相关用法


注:本文由纯净天空筛选整理自vanigupta20024大神的英文原创作品 Pyscaffold module in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。