leinardi / mypy-pycharm

A plugin providing both real-time and on-demand scanning of Python files with Mypy from within PyCharm/IDEA.
Apache License 2.0
188 stars 30 forks source link

Adding all files to Cmd line is no longer necessary -> The filename or extension is too long #71

Open FreCap opened 3 years ago

FreCap commented 3 years ago

https://github.com/leinardi/mypy-pycharm/blob/50bd2b683c5825cd7e6ddbc6f47c3ed39b14b0ba/src/main/java/com/leinardi/pycharm/mypy/mpapi/MypyRunner.java#L251

As https://github.com/python/mypy/issues/4008#issuecomment-417862464, now mypy should accepts also a directory and search files recursively.

Would it possible to to not have the the recursive scanning of files?

Concatenating all of my file creates an argument length of over 100KB and makes mypy-pycharm crash with


2021-01-27 16:37:44,692 [1035917909]   WARN - pycharm.mypy.checker.ScanFiles - An error occurred while scanning a file. 
com.leinardi.pycharm.mypy.exception.MypyToolException: Error creating Mypy process
    at com.leinardi.pycharm.mypy.mpapi.MypyRunner.runMypy(MypyRunner.java:318)
    at com.leinardi.pycharm.mypy.mpapi.MypyRunner.scan(MypyRunner.java:265)
    at com.leinardi.pycharm.mypy.checker.ScanFiles.scan(ScanFiles.java:109)
    at com.leinardi.pycharm.mypy.checker.ScanFiles.checkFiles(ScanFiles.java:100)
    at com.leinardi.pycharm.mypy.checker.ScanFiles.call(ScanFiles.java:74)
    at com.leinardi.pycharm.mypy.checker.ScanFiles.call(ScanFiles.java:46)
    at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:270)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.intellij.execution.process.ProcessNotCreatedException: Cannot run program ""*****Scripts\dmypy.exe" (in directory ""*****service"): CreateProcess error=206, The filename or extension is too long
    at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:380)
    at com.leinardi.pycharm.mypy.mpapi.MypyRunner.runMypy(MypyRunner.java:305)
    ... 14 more
Caused by: java.io.IOException: Cannot run program "*****Scripts\dmypy.exe" (in directory ""*****\service"): CreateProcess error=206, The filename or extension is too long
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
    at com.intellij.execution.configurations.GeneralCommandLine.startProcess(GeneralCommandLine.java:453)
    at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:376)
    ... 15 more
Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is too long
    at java.base/java.lang.ProcessImpl.create(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:478)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:154)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
    ... 18 more