查找项目所需的包

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

  • 实现–忽略模块

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

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?