对于像这样的块:
try:
#some stuff
except Exception:
pass
Run Code Online (Sandbox Code Playgroud)
pylint引发警告W0703'Catch"Exception"'.为什么?
我正在使用Sublime Text 3 With Pylinter来运行pylint我的文件.
但是,在同一台机器上,我处理python 2和python 3项目的文件(代码在几个远程测试VM中的一个上通过SSH执行.我通过在SMB上打开它来修改文件.是我的家庭测试实验室,我终于坐下来学习py3k了.
我可以轻松地覆盖pylint用于确定它应该lint的python版本的机制吗?理想情况下,会有一个内联指令,但我找不到任何好运.
我在Windows上(编辑)(远程虚拟机是linux,但这里不相关),这是值得的.
我正在学习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.
如果我想将灯具保存在与功能相同的文件中,那么最佳做法是什么?
_?pylint检查以进行测试?在python中我遵循camelCase命名风格.我用"pylint"检查了我的代码,它给出了不遵循lower_case_with_underscores样式的错误.我也使用netBeans IDE进行编码.此IDE提示不遵循lower_case_with_underscores样式.
如何告诉pylint和netBeans我正在遵循camelCase命名样式,而不是lower_case_with_underscores?
谢谢.
我正在使用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做的方法.
在我的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'字符串'模块,不使用它的任何函数,而只是访问常量' string.lowercase '.
我删除了已弃用的导入并替换了string.lowercase的'abcdef ...',但我想知道:有没有更好的方法我应该这样做?
在Python中,前缀为一个下划线表示不应在其类之外访问成员.这似乎是基于Java和C++的每个类.
但是,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在这里描述了这条消息.
我想使用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_django我正在使用几天前发布的最新版本:
Package Version\n----------------------------- ----------\npylint 2.7.4\npylint-django 2.4.3\npylint-plugin-utils 0.6\nRun Code Online (Sandbox Code Playgroud)\n当我pylint在带有扩展的 VSC 中启用时pylint_diango,出现此错误
Django was not configured. For more information runpylint --load-plugins=pylint_django --help-msg=django-not-configured\nRun Code Online (Sandbox Code Playgroud)\n我按照这些说明修复了该问题,并将以下几行添加到我的settings.json:
{\n ...\n "python.linting.pylintArgs": [\n "--load-plugins=pylint_django"\n "--django-settings-module=wapp.settings"\n ]\n}\nRun Code Online (Sandbox Code Playgroud)\n但是,指定--django-settings-module=wapp.settings标志后 pylint 停止工作。我的 Django 项目结构(在 VSC 中打开的根目录)如下所示:
.\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\nRun Code Online (Sandbox Code Playgroud)\n我也尝试过指定DJANGO_SETTINGS_MODULE …