Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-28947

Improve pylinters.py error message when finding linters

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5.7
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Epic Link:
    • Sprint:
      Platforms 2017-05-08

      Description

      Debian and Ubuntu machines use an custom layout for python packages. For instance, pip installed modules are installed into /usr/local/ instead of /usr, and into a directory named dist-packages instead of the normal site-packages directory.

      This first change means that the default search logic in pylinters.py cannot find the lint scripts in the default directory. This causes messages to be printed to standard error since the first location check for a linter fails even if the second one succeeds. The second check, based on PATH, succeeds since Debian/Ubuntu includes /usr/local/bin in PATH by default.

      Example of the confusing messages

      /usr/bin/python2.7: can't open file '/usr/bin/yapf': [Errno 2] No such file or directory
      /usr/bin/python2.7: can't open file '/usr/bin/pylint': [Errno 2] No such file or directory
      

      To improve the user experience, standard error should be captured, and only outputted on failure.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: