管理APT包的工具
项目描述
Debutizer
Debutizer是一个用于管理APT包的工具,旨在为需要管理一套可能相互依赖的包的用户提供帮助,并且希望以最少的样板代码和现代持续集成工具来实现。
安装
APT仓库(推荐)
自然地,Debutizer可以通过PPA作为APT仓库安装,如果你使用的是基于Debian的发行版,可以使用以下命令安装Debutizer:
sudo add-apt-repository ppa:velovix/debutizer
sudo apt update
sudo apt install debutizer
PyPI
Debutizer也位于PyPI上,可以像安装其他Python包一样进行安装。这对于非Debian Linux环境是一个不错的选择,但你需要自己安装Debutizer的系统依赖项。
Pipx是通过PyPI安装的推荐方式,因为它为Debutizer提供了一个独立的虚拟环境来运行。
pipx install debutizer
你可以通过运行debutizer check
来检查Debutizer的系统依赖项是否可用。
从源代码
首先克隆仓库
git clone https://github.com/velovix/debutizer
然后,假设你已经安装了Python 3.6+和Pip,在克隆到的目录中运行以下命令:
pip3 install --constraint constraints.txt .
这将负责通过Pip安装Python依赖项,但系统依赖项需要手动安装。使用debutizer check
查看是否有缺失的系统依赖项。
开发
如果您发现Debutizer的bug或需要新功能,请随时创建一个问题!如果您非常慷慨,并希望发送pull request,请查看本节了解如何开始。
开发依赖项
可以使用包含dev
额外功能的Pip安装开发依赖项。这应该在虚拟环境中完成。
pip3 install --constraint constraints.txt ".[dev]"
该项目使用constraints.txt
文件来固定依赖项。由于Debutizer通常作为APT包运行,使用我们Python依赖项的发行版提供的版本,这种固定主要是为了保持开发环境的一致性。
如果您需要更新特定依赖项的固定版本,您可以在虚拟环境中运行以下命令。
pip3 update <dependency>
pip3 freeze --exclude debutizer --exclude python-debian > constraints.txt
代码检查
Debutizer使用几个代码检查工具来保持代码风格一致并减少bug。CI将为您运行这些工具,并在发现问题时失败,但您也可以方便地设置预提交钩子。
pre-commit install
测试
Debutizer使用PyTest进行自动化测试。可以使用以下命令运行单元测试
pytest tests/unit
遗憾的是,由于集成测试使用pbuilder
构建包,运行集成测试需要sudo
。在虚拟环境中使用sudo
有点棘手,但这个不直观的命令可以完成它
sudo $(which python) -m pytest tests
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。