查找项目所需的包
pip_missing_reqs的Python项目详细描述
它发生了:你开始在你的项目中使用一个模块,它工作了,你 不要意识到它只包含在你的virtualenv中,因为 这是您正在使用的包的依赖项。这个工具发现这些模块 您可以将它们包含在项目的requirements.txt中。
假设您的项目遵循建议的布局sample project:
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
从该检查中排除测试文件(或其他文件)
测试文件有时与 应用程序源(上述示例中的“示例”)。对…的要求 这些测试通常不应该在requirements.txt文件中,并且 不希望这个工具为那些人生成错误的点击。
您可以使用–ignore file从检查中排除这些测试文件 选项(简写为-f)。允许选项的多个实例。
不包括支票中的模块
如果您的项目具有有条件导入的模块,或要求 如果是有条件包含的,则可以从 使用–忽略模块(简写为-m)按名称(或全局模式)检查:
# 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上的symlink疯狂
1.1.7
- 调整以调试输出
1.1.6
- 添加调试(非常详细)运行输出
1.1.5
- 将标题添加到输出,以便在较大的测试运行中更清楚地显示出来
- 修复测试和自检
1.1.4
- 添加–版本
- 从发布的代码lol中删除调试打印
1.1.3
- 程序生成用于测试 的退出代码
1.1.2
- 已更正PIP中提供的search_packages_info()的版本
- 处理相对导入
1.1.1
- 从未来进口的固定处理
- 自我测试并添加了own requirements.txt
- 清除了需要扫描文件或目录的用法(而不是 默认为“.”)
- pip 1.6dev提供的代码修复了搜索包中的bug 直到PIP 1.6被释放
1.1.0
- 实现–忽略模块