跳过至主要内容

查找项目中应有的依赖包

项目描述

这种情况时有发生:你开始在项目中使用一个模块,并且它运行正常,但你没有意识到这只是因为它是你使用的某个包的依赖项而被包含在你的 virtualenv 中。这个工具可以找到这些模块,以便你可以将它们包含在项目的 requirements.txt 文件中。

假设你的项目布局类似于以下建议的 示例项目

setup.py
setup.cfg
requirements.txt
sample/__init__.py
sample/sample.py
sample/tests/test_sample.py

基本用法,在项目目录中运行

<activate virtualenv for your project>
pip-missing-reqs --ignore-file=sample/tests/* sample

这将找到“sample”代码中的所有导入,并检查这些模块所属的包是否在requirements.txt文件中。

示例tox.ini配置

为了使您的生活更轻松,将以下内容复制到您的tox.ini中

[testenv:pip-missing-reqs]
deps=-rrequirements.txt
commands=pip-missing-reqs --ignore-file=sample/tests/* sample

排除测试文件(或其他文件)的检查

您的测试文件有时会与应用程序源代码(如上面的示例中的“sample”)位于同一目录中。这些测试的依赖项通常不应包含在requirements.txt文件中,您也不希望此工具为这些文件生成错误警报。

您可以使用–ignore-file选项(缩写为-f)排除这些测试文件。允许使用多个此选项实例。

排除模块的检查

如果你的项目包含有条件导入的模块,或者有条件包含的要求,你可以使用< cite>–ignore-module(简写为< cite>-m)通过名称(或glob模式)排除某些模块的检查。

# ignore the module spam
pip-missing-reqs --ignore-module=spam sample
# ignore the whole package spam as well
pip-missing-reqs --ignore-module=spam --ignore-module=spam.* sample

发布历史

1.2.1

  • 将要求放松到6.0+

1.2.0

  • 将pip的要求升级到6.0.8+

  • 更新pip内部使用的版本以匹配该版本

1.1.9

  • 测试修复和清理

  • 移除硬编码的simplejson调试行为

1.1.8

  • 使用os.path.realpath以避免在debian/ubuntu上出现符号链接问题

1.1.7

  • 调整调试输出

1.1.6

  • 添加调试(非常详细)的运行输出

1.1.5

  • 添加输出到标题,以便在更大规模的测试运行时更加清晰

  • 修复测试和自检

1.1.4

  • 添加–version

  • 从发布代码中移除调试打印

1.1.3

  • 修复程序以生成对测试有用的退出代码

1.1.2

  • 从pip中修正了vendored的search_packages_info()的版本

  • 处理相对导入

1.1.1

  • 修复了从__future__导入的处理

  • 自测并添加了自身的requirements.txt

  • 清理了用法,使其需要扫描的文件或目录(而不是默认为“.”)

  • 从pip 1.6dev vendored的代码,修复了在pip 1.6发布之前的search_packages_info中的bug

1.1.0

  • 实现了–ignore-module

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pip_missing_reqs-1.2.1.tar.gz (8.9 kB 查看哈希

上传时间:

支持者