在setup.py中检查精确管脚的flake8扩展(e.q.:`foo==1.5.6`)

flake8-exact-pin的Python项目详细描述


在^{tt2}中检查包要求的精确管脚(==)$ 在setup.py中。

例如:

setup(# ...install_requires=['pyramid==1.5.6'],# ...)

精确的管脚通常是个坏主意,因为它们:

  • 如果您的包将被重复使用,则限制其灵活性;即:用作 其他python库或应用程序的库。你强迫他们 使用他们可能不想使用或与之冲突的特定版本 他们已经用过的东西。如果你的包裹是 应用程序而不是库;但是,通常requirements.txt是 更好地管理您固定的应用程序需求(请参见 https://caremad.io/blog/setup-vs-requirement/
  • 在你的包里烤一个非常严格的要求;你可能需要重新制作 你的包只是使用一个新版本的包和一个错误修复。
  • 如果精确的pin,则可能导致难以解决的版本冲突 一些包版本和不确切的别针其他。其他一些包裹 可能需要一个不同的版本,而它可能是 pip不可能解决这个问题。

安装

如果还没有,请安装flake8

$ pip install flake8

然后,安装延长件:

$ pip install flake8-exact-pins

用法

运行以下命令以验证插件是否已正确安装:

$ flake8 --version
2.4.1 (pep8: 1.5.7, flake8-exact-pin: 0.0.0, pyflakes: 0.8.1, mccabe: 0.3) CPython 2.7.9 on Darwin

现在,当您运行flake8时,插件将自动被使用。

当找到一个精确的pin时,flake8将输出如下内容:

./setup.py:28:37: P001 exact pin found in install_requires: "pyramid==1.5.6"

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

推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像