标签: pylint

pylint警告'除了异常:'

对于像这样的块:

try:
    #some stuff
except Exception:
    pass
Run Code Online (Sandbox Code Playgroud)

pylint引发警告W0703'Catch"Exception"'.为什么?

python pylint

19
推荐指数
2
解决办法
2万
查看次数

指定要为哪个python版本的pylint进行评估

我正在使用Sublime Text 3 With Pylinter来运行pylint我的文件.

但是,在同一台机器上,我处理python 2和python 3项目的文件(代码在几个远程测试VM中的一个上通过SSH执行.我通过在SMB上打开它来修改文件.是我的家庭测试实验室,我终于坐下来学习py3k了.

我可以轻松地覆盖pylint用于确定它应该lint的python版本的机制吗?理想情况下,会有一个内联指令,但我找不到任何好运.

我在Windows上(编辑)(远程虚拟机是linux,但这里不相关),这是值得的.

python pylint python-3.x

19
推荐指数
3
解决办法
9757
查看次数

pytest fixture从外部范围重新定义名称[pylint]

我正在学习pytest,我用pylint把代码搞定了.但是pylint仍抱怨:
W0621: Redefining name %r from outer scope (line %s)

对于pytest的以下示例:

# test_wallet.py

@pytest.fixture
def my_wallet():
    '''Returns a Wallet instance with a zero balance'''
    return Wallet()

@pytest.mark.parametrize("earned,spent,expected", [
    (30, 10, 20),
    (20, 2, 18),
])
def test_transactions(my_wallet, earned, spent, expected):
    my_wallet.add_cash(earned)
    my_wallet.spend_cash(spent)
    assert my_wallet.balance == expected
Run Code Online (Sandbox Code Playgroud)

my_wallet从外部范围重新定义名称.

我找到了解决方法,_为夹具名称添加前缀:_my_wallet.

如果我想将灯具保存在与功能相同的文件中,那么最佳做法是什么?

  1. 预装所有灯具_
  2. 禁用此pylint检查以进行测试?
  3. 更好的建议?

python fixture pylint pytest

19
推荐指数
4
解决办法
5134
查看次数

更改默认的python编码样式

在python中我遵循camelCase命名风格.我用"pylint"检查了我的代码,它给出了不遵循lower_case_with_underscores样式的错误.我也使用netBeans IDE进行编码.此IDE提示不遵循lower_case_with_underscores样式.

如何告诉pylint和netBeans我正在遵循camelCase命名样式,而不是lower_case_with_underscores?

谢谢.

python pylint

18
推荐指数
2
解决办法
8124
查看次数

如何告诉pylint忽略某些导入?

我正在使用Python开发Windows软件.我在Linux上开发,我正在使用Pylint来检查我的代码.我无法摆脱错误:

F| Unable to import '_winreg'   
Run Code Online (Sandbox Code Playgroud)

这很明显 - Linux上的Python没有这个模块.

那么,我必须在我的.pylintrc中放置什么来忽略这个错误?

提前谢谢,奥兹

编辑:

文件说:

:F0401: *Unable to import %r*
  Used when pylint has been unable to import a module.
Run Code Online (Sandbox Code Playgroud)

现在我需要找到如何使用它...

部分解决方案:

pylint --disable=F0401 <filename>
Run Code Online (Sandbox Code Playgroud)

我仍在寻找通过.pylintrc做的方法.

python pylint

18
推荐指数
4
解决办法
2万
查看次数

pylint:忽略rcfile中的multiple

在我的django项目中,我使用的是外部编写的应用程序,写得很糟糕.现在我想从我的pylint报告中忽略这个应用程序,但是我不能让pylint忽略它.Pylint已经忽略了南迁移,如下所示:

[MASTER]
ignore=migrations
Run Code Online (Sandbox Code Playgroud)

但是,文档说明可以指定多个忽略.但我尝试了一些,但无法让它们发挥作用.

不起作用:

[MASTER]
ignore=migrations,badapp
Run Code Online (Sandbox Code Playgroud)

也不起作用:

[MASTER]
ignore=migrations
ignore=badapp
Run Code Online (Sandbox Code Playgroud)

我的项目结构是这样的:

|-- goodapp
|    |-- models.py
|    |-- tests.py
|    +-- views.py
|-- badapp
|    |-- models.py
|    |-- tests.py
|    +-- views.py
|-- manage.py
Run Code Online (Sandbox Code Playgroud)

我宁愿不撒上我的代码# pylint: skip-file,而是使用rcfile配置pylint.

python pylint

18
推荐指数
1
解决办法
6541
查看次数

Pylint说'string'模块已被弃用.获得小写字符范围的新方法是什么?

我只是在捣乱一些代码,并注意到一位同事导入了旧的Python'字符串'模块,不使用它的任何函数,而只是访问常量' string.lowercase '.

我删除了已弃用的导入并替换了string.lowercase的'abcdef ...',但我想知道:有没有更好的方法我应该这样做?

python pylint

18
推荐指数
1
解决办法
3259
查看次数

Pylint W0212保护访问

在Python中,前缀为一个下划线表示不应在其类之外访问成员.这似乎是基于JavaC++的每个类.

但是,pylint似乎在每个对象的基础上强制执行此约定.有没有办法允许每个类访问而不诉诸#pylint: disable=protected-access

class A:
    def __init__(self):
        self._b = 5

    def __eq__(self, other):
        return self._b == other._b
Run Code Online (Sandbox Code Playgroud)

结果:

pylint a.py
a.py:6: W0212(protected-access) Access to a protected member _b of a client class
Run Code Online (Sandbox Code Playgroud)

Pylint在这里描述了这条消息.

python pylint private-members

18
推荐指数
1
解决办法
1万
查看次数

在Jenkins上使用带有警告插件和Pipleine的PyLint

我想使用pylint的对詹金斯与警告插件Pipleine,因为违规插件已被弃用.

没有文档或完整的示例.

一些信息:

timeout(time: 5, unit: 'MINUTES') {
  sh 'npm run lint:ci'
  step([$class: 'WarningsPublisher',
    parserConfigurations: [[
      parserName: 'JSLint',
      pattern: 'pmd.xml'
    ]],
    unstableTotalAll: '0',
    usePreviousBuildAsReference: true
  ])
}
Run Code Online (Sandbox Code Playgroud)

解决方法:

pylint || exit 0
Run Code Online (Sandbox Code Playgroud)

但这还不够.

pylint jenkins jenkins-plugins jenkins-pipeline

18
推荐指数
3
解决办法
1万
查看次数

指定 --django-settings-module 标志时 pylint (pylint_django) 不起作用

pylint_django我正在使用几天前发布的最新版本:

\n
Package                       Version\n----------------------------- ----------\npylint                        2.7.4\npylint-django                 2.4.3\npylint-plugin-utils           0.6\n
Run Code Online (Sandbox Code Playgroud)\n

当我pylint在带有扩展的 VSC 中启用时pylint_diango,出现此错误

\n
Django was not configured. For more information runpylint --load-plugins=pylint_django --help-msg=django-not-configured\n
Run Code Online (Sandbox Code Playgroud)\n

我按照这些说明修复了该问题,并将以下几行添加到我的settings.json

\n
{\n  ...\n  "python.linting.pylintArgs": [\n    "--load-plugins=pylint_django"\n    "--django-settings-module=wapp.settings"\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

但是,指定--django-settings-module=wapp.settings标志后 pylint 停止工作。我的 Django 项目结构(在 VSC 中打开的根目录)如下所示:

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ...\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 manage.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 media\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 profile_pictures\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requirements.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ...\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 venv\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wapp\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 asgi.py\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 secrets.py\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 settings.py\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 urls.py\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 wsgi.py\n
Run Code Online (Sandbox Code Playgroud)\n

我也尝试过指定DJANGO_SETTINGS_MODULE …

python django pylint visual-studio-code

18
推荐指数
1
解决办法
1517
查看次数