对于Pylint,是否可以为每个Eclipse项目使用不同的pylintrc文件?

时间:2013-04-28 18:49:36

标签: python pylint pylintrc

我看到我可以使用this解决方案为每个Eclipse实例更改它。 我想按项目设置它。有可能吗?

2 个答案:

答案 0 :(得分:24)

这不是特定于Eclipse的,但无论如何它可能会有所帮助。根据{{​​3}}:

  

您可以使用--rcfile选项在命令行上指定配置文件。否则,Pylint按以下顺序搜索配置文件,并使用它找到的第一个:

     
      当前工作目录中的
  1. pylintrc
  2.   当前工作目录中的
  3. .pylintrc
  4.   
  5. 如果当前工作目录位于Python模块中,Pylint会搜索Python模块的层次结构,直到找到pylintrc文件。这允许您逐个模块地指定编码标准。当然,如果目录包含__init__.py文件,则该目录被判定为Python模块。
  6.   
  7. 由环境变量PYLINTRC
  8. 命名的文件   
  9. 如果您的主目录不是/root:      
        
    1. .pylintrc在您的主目录中
    2.   
    3. .config/pylintrc在您的主目录中
    4.   
  10.   
  11. /etc/pylintrc
  12.   

上述第1或第3点可能有所帮助。

答案 1 :(得分:5)

只需将名为pylintrc的配置文件(没有'。')放在每个项目的根目录中。 Pylint以项目目录作为当前工作目录运行,这是pylint查找配置文件的第一个地方。

PyDev文档建议命名文件.pylintrc,但这不太健壮,因为./.pylintrc几乎是pylint将搜索的位置的最后一个。 PyDev文档进一步说这只适用于PyDev 2.8.0及更高版本,但我使用的是PyDev 2.6.0,它对我有用。

其他答案中配置文件的搜索顺序不太对。我刚刚提交了Pylint文档的增强功能,该文档正确描述了配置文件搜索顺序:

  

您可以使用命令行在命令行上指定配置文件   --rcfile选项。否则,Pylint按以下顺序搜索配置文件,并使用它找到的第一个:

     
      
  1. 当前工作目录中的pylintrc
  2.   
  3. 如果当前工作目录位于Python模块Pylint中   搜索Python模块的层次结构,直到找到   pylintrc文件。这允许您在a上指定编码标准   逐个模块的基础。当然,目录被判断为a   Python模块,如果它包含__init__.py文件。
  4.   
  5. 由环境变量PYLINTRC
  6. 命名的文件   主目录中的
  7. .pylintrc,除非您没有主目录   或者您的主目录是/ root
  8.   当前工作目录中的
  9. .pylintrc
  10.   
  11. 的/ etc / pylintrc
  12.   

请注意,配置文件仅适用于模块中的Python文件。因此,在分析没有__init__.py文件的目录中的Python文件时,Pylint仍然使用其默认规则。也许这个问题已在PyDev 2.8.0中修复。

例如,我有一个包含命令行应用程序的bin/目录。通常,此目录不需要__init__.py文件,因为它永远不会导入。我必须添加bin/__init__.py文件才能让Pylint使用我的pylintrc文件分析这些Python文件。