我想在我的整个项目目录中将pylint配置为外部工具,用于我正在处理的python项目。我试图将存储库用作__init__.py
和没有的模块,并且它无论如何都无法正常工作。
我在设置pylint以使用PyCharm时遇到困难。我知道我应该将它作为外部工具运行,但设置让我感到困惑。
他们的文档的权威来源被打破了,所以我也无法检查它。
您可以按照以下步骤设置pylint
以使用PyCharm:
pylint
:
$ pip install pylint
pylint
安装文件夹:
$ which pylint # MacOS/Linux
/usr/local/bin/pylint # this is just a possible output check yours
$ where pylint # Windows
%LocalAppData%\Programs\Python\Python36-32\Scripts\pylint.exe # possible location
File -> Settings
打开PyCharm设置窗口,然后导航到侧栏中的Tools -> External Tools
。 (或搜索“外部工具”)
Program
中使用运行which pylint
时获得的路径,对于其他值,您可以使用相同的图像。
pylint
运行Tools -> External Tools -> pylint
:
有关更多详细信息,请参阅Pylinting with PyCharm。
更新:
如果要使用pylint
检查整个项目或特定文件或目录,可以右键单击项目根目录,文件或目录,然后单击External Tools -> pylint
,如下所示。
因为我没有找到可用的现成设置,所以这些是我在macOS上的PyCharm CE 2018.1中使用的设置:
1 - pip install pylint
在您的项目virtualenv或全球
2 - 添加新的外部工具并配置:
Program: pylint
Arguments: "--msg-template='{abspath}:{line:5d},{column:2d}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\,\s*$COLUMN$:
注意msg-template所需的双引号,以及输出过滤器的转义字符。输出过滤器允许单击文件路径并在IDE源编辑器中打开该位置。
只有缺少的功能是输出过滤器将lint描述直接绘制到源视图中,就像使用内置linter一样。虽然此时没有这样的功能。
编辑:我现在使用并推荐当我第一次写这个答案时不存在的Pycharm plugin。
一位同事在GitHub上向我指出了pylint-pycharm。它是pylint的包装器,输出格式为PyCharm。这是我如何设置它:
git clone https://github.com/perses76/pylint-pycharm.git
cd pylint-pycharm
python setup.py build
这创造了build/scripts-2.7/pylint-pycharm
然后,在PyCharm中,使用以下设置创建一个新的外部工具:
Program: path to your installation of pylint-pycharm
Arguments: --virtualenv=$PyInterpreterDirectory$/.. $FileName$
Working directory: $FileDir$
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*
现在从工具 - >外部工具 - > PyLint PyCharm运行它。每行输出将超链接到源代码中的相关位置。
你可以尝试这个Pylint PyCharm plugin:
使用PyCharm / IDEA中的Pylint提供Python文件的实时和按需扫描。
安装完成后,实时检查会自动进行。对于按需,您有几个选项,从检查当前打开的文件到扫描整个项目:
(只是为了透明,我是开发人员)
关于以前答案的说明。我正在寻找一种让PyCharm知道输出语法的方法,这样我就可以直接跳转到文件位置了。无需使用其他工具即可。
可以使用pylintrc文件或CLI选项msg-template
中的--msg-template
选项将Pylint配置为以特定格式输出消息。
我把它设置为:msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'
在外部工具设置中,Output filters:
可以设置为$FILE_PATH$:$LINE$:$COLUMN$: .*
,因此PyCharm显示直接跳转到报告位置的链接。这可以与output-format=colorized
结合,所以我得到这个: PyCharm虽然配置了它但不识别该列。但拥有文件和行对我来说已经足够了。
Roberto Leinardi为pycharm创建了一个pylint插件,它非常有效并且可以很好地集成到IDE中:
易于从存储库安装,完整说明:https://github.com/leinardi/pylint-pycharm
到目前为止,我有一个短暂而快乐的体验!感谢罗伯托。
感谢此处提供的信息,以及来自PyCharm的更新文档,我已经能够很好地使用它来为项目使用虚拟环境(确保任何软件包都可以在虚拟环境中部署,而不需要全局部署)。
采取先前提供的lkraider但稍作修改:
Program: $PyInterpreterDirectory$/pylint
Arguments: "--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\:\s*$COLUMN$: