在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中布尔值的位模式(变量值)?   无法解决我的R.java文件中的安卓错误   java当post请求在postman中完成时,它会将所有值传递为NULL   java如何在我的扫描仪之前调用GUI代码?   java类名。变量使用Classname作为变量   使用弱引用侦听器的java   具有二维数组(Java)的服务器/客户端类   java如何过滤OSGi服务可见性?   java更改静态方法中静态字段的值   java操作。启动\u已完成,但不工作   java如何在javafx中嵌入PApplet?   java如何提取数据库的结构以使用JDBC将其复制到另一个数据库中?   安卓如何在java中将双精度值转换为n个位置(给出答案,而不是提问)   java是可以使用Gson的。fromJson()获取ArrayList<ArrayList<String>?   java创建类的独立对象