python依赖项管理实用程序

dante的Python项目详细描述


但丁

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=================================="Travis" 37667 " /><<<downloads

版本

版本标志将使dante显示它已安装的版本结束退出:

dante --version

但丁命令

dante在cli的顶层有几个标志:

  • --all-显示所有包(不使用忽略列表)
  • --忽略忽略-忽略指定的包。可多次使用。

依赖项列表

列出与项目相关的所有软件包:

dante list [--requirements REQUIREMENTS]
<表><广告>标志 速记 说明 < /广告><正文>--要求 -r要使用的需求文件(将忽略setup.cfg

pip freeze不同,除非它与--all标志一起使用 显示项目所需的包。这是通过使用 已安装的软件包和要求文件。

依赖关系树

显示单个包或整个环境的依赖关系树:

dante tree [--package PACKAGE] [--requirements REQUIREMENTS]
<表><广告>标志 速记 说明 < /广告><正文>--套餐-p用于显示树的包--要求 -r要使用的需求文件(将忽略setup.cfg

结构关于

以json格式显示当前配置:

dante config

示例结果:

{"dante":{"any_version":"Any","checks":["conflicts","cyclic","missing","validate"],"ignore_list":["dante","pip","setuptools","wheel"],"allow_named_versions":true,"named_version_patterns":["0.*version"],"lock_file_path":"requirements-dev.lock","requirements_files":["requirements-dev.lock"],"lock_files":["requirements-dev.lock"],"graph_name":"dante-graph","graph_filename":null,"graph_format":"pdf","graph_engine":"dot","graph_strict":true},"graph_attributes":{},"graph_node_attributes":{"shape":"box3d"},"graph_edge_attributes":{"fontsize":"10"}}

验证

对要求和锁定文件执行各种检查:

dante validate [-requirments REQUIREMENTS] [--lock LOCK] [--strict]
<表><广告>标志 速记 说明 < /广告><正文>--要求 -r要使用的需求文件(将忽略setup.cfg--锁定-l锁定要使用的文件(将忽略setup.cfg--严格的-r严格检查

执行的检查如下:

  • 检查是否所有设置的要求都设置为版本或版本范围
  • 检查是否已将所有锁定的要求设置为精确版本
  • 检查所有安装的软件包版本是否与锁定的要求版本匹配
  • 检查所有必需版本是否与锁定的必需版本匹配

成功运行将打印出来:

All set requirements locked
No unset locks found
All package versions matching
All requirement versions matching

使用--strict标志运行验证将添加一些附加检查:

  • 检查是否安装了任何不需要的软件包
  • 检查是否有任何不需要的锁定要求

建议尽可能使用严格检查。

成功运行将打印出来:

No non-required packages found
No non-required locks found

相互冲突的依赖关系

检测已安装软件包之间的冲突:

pip install dante
0

当多个包需要具有 不兼容的版本(例如,一个版本需要<;1.0.0,另一个版本需要>;2.0.0)。 成功运行将打印出来:

pip install dante
1

循环依赖性

检测已安装软件包中的循环依赖项:

pip install dante
2

当包依赖项中存在循环路径时(例如 package1需要package2这需要package3 需要package1)。成功运行将打印出来:

pip install dante
3

缺少依赖项

检测环境中是否存在未安装的必需软件包:

pip install dante
4 <表><广告>标志 速记 说明 < /广告><正文>--要求 >r<td>要使用的需求文件(将忽略setup.cfg

成功运行将打印出来:

pip install dante
5

检查

一次运行所有定义的检查:

pip install dante
6 <表><广告>标志 速记 说明 < /广告><正文>--要求 -r要使用的需求文件(将忽略setup.cfg--锁定-l锁定要使用的文件(将忽略setup.cfg--严格的-r严格检查

成功运行所有检查将打印出来:

pip install dante
7

锁定

显示或保存当前项目的锁定要求:

pip install dante
8 <表><广告>标志 速记 说明 < /广告><正文>--要求 -r要使用的需求文件(将忽略setup.cfg--保存-s保存到文件--文件-f要保存到的文件名(将覆盖setup.cfg

锁定的需求是通过遍历所有已安装的包来确定的 并递归地提供需求以检索其依赖项。

只需要满足r项目将被退回。

图表

返回依赖关系图描述或将其呈现到文件:

pip install dante
9 <表><广告>标志 速记 说明 < /广告><正文>--渲染-r将图形呈现到文件--查看-v渲染后显示图形--严格的-s使用严格的图形规则--名称图形名称--文件名要将图形保存到的文件名--格式图形文件格式--发动机图形引擎--图表属性图形属性--节点属性图形节点属性--边缘属性图形边缘属性

API

dante通过api模块公开它的操作,因此可以导入它们 并用于您的库/应用程序:

检索已安装软件包的示例:

dante --version
0

Ci

Dante可以用作CI检查工具,在 setup.cfg已配置,对任何CI运行检查所需的全部时间是:

dante --version
1

dante在通过cli运行时包含错误代码,因此它将使构建失败 如果检测到任何问题。

注意:建议尽可能使用严格检查,因为 不必要的需求仍然会导致环境中的问题 (例如,可以覆盖其他包的文件…):

dante --version
2

测试

要运行测试,只需安装requirements-dev.lock中的所有依赖项并运行:

dante --version
3

路线图:

  • 完整文档

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java当我点击MainActivity中的按钮以显示其他活动时,它不起作用   java游戏!框架:在请求之间获取控制器的组件/字段/对象   JavaBlackBerry:调用计算器并检索值?   java Struts2 jQuery插件提交按钮   java无法将更新的画布绘制到活动   java如何将Gson值放入HashMap   使用截取时出现java错误:RecyclerView:未连接适配器;跳过布局   java组织。冬眠HibernateException:在Hibernate搜索中编制索引时出错(在事务完成之前)   java Swagger服务器存根生成工作流   java JInternalFrame底部阴影问题   java nio缓冲区类中limit()的用法是什么   java水平回收器视图内部选项卡布局   java Maven无法找到依赖项   java如何管理不同应用程序实例的权限文件?