用于PEP 518项目的Setuptools后端打包工具。
项目描述
Setl(发音类似于 settle)是使用Setuptools作为后端以简单方式处理PEP 518项目的工具。
界面强烈受到Flit的影响。
安装
推荐的安装方法是pipx
pipx install setl
Setl需要使用Python 3.7或更高版本进行安装,但可以使用--python选项使用较旧的Python构建项目。
Setuptools老手的快速入门
除了常规的Setuptools配置外,您还需要在setup.py旁边创建一个名为pyproject.toml的文件,内容如下
[build-system] requires = ["setuptools>=43", "wheel"]
与Setuptools的命令比较
Setl |
Setuptools近似 |
---|---|
setl develop |
setup.py develop |
setl build |
setup.py egg_info build |
setl publish |
setup.py egg_info build sdist bdist_wheel
twine upload
|
但为什么?
主要区别在于如何安装构建和运行时依赖项。
传统上,Setuptools项目使用setup_requires,但这存在各种问题,并且不鼓励使用,转而使用PEP 518来指定构建时间依赖项。但是,Setuptools的项目管理命令不处理PEP 518声明,这需要用户在使用setup.py之前手动安装这些构建依赖项。Setl命令在调用它们的setup.py对应物之前模仿pip的构建设置,因此构建环境保持最新。
同样,setup.py develop使用easy_install安装运行时依赖项,而不是pip。因此,它不尊重这些依赖项中的PEP 518声明,如果其中一个依赖项不支持“遗留模式”构建过程,甚至可能失败。setl develop通过在调用setup.py develop --no-deps之前使用pip install来解决这个问题,因此依赖项以现代格式安装。
其余的都是关于提供更有用的默认值。修改元数据时很容易忘记重新构建egg-info,所以Setl试图提供帮助。如今,人们几乎总是想要构建sdist和wheel,所以Setl默认这样做。PyPA建议不要使用setup.py upload,因此Setl捆绑了Twine用于上传。这没有什么高科技的。
下一步
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。