-
Notifications
You must be signed in to change notification settings - Fork 30
Enabling plugin for CLion: de-prioritise presence of Python project SDK when checking mypy availability #106
Description
Related issues/PRs:
Step 1: Are you in the right place?
- I have verified there are no duplicate active or recent bugs, questions, or requests
- I have verified that I am using the latest version of the plugin.
Step 2: Describe your environment
- Plugin version:
0.14.0 - PyCharm/IDEA version: N/A -
CLion 2022.3.1 build #CL-223.8214.51 - Mypy version:
0.991
Step 3: Describe the problem:
CLion cannot use the plugin, because the following code block can't grab the Python SDK (maybe because CLion doesn't have a concept of a Python SDK?). Simply removing the following block
mypy-pycharm/src/main/java/com/leinardi/pycharm/mypy/mpapi/MypyRunner.java
Lines 159 to 176 in 26299d0
| Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk(); | |
| if (projectSdk == null | |
| || projectSdk.getHomeDirectory() == null | |
| || !projectSdk.getHomeDirectory().exists()) { | |
| if (showNotifications) { | |
| Notifications.showNoPythonInterpreter(project); | |
| } | |
| return false; | |
| } else if (showNotifications) { | |
| PyPackageManager pyPackageManager = PyPackageManager.getInstance(projectSdk); | |
| List<PyPackage> packages = pyPackageManager.getPackages(); | |
| if (packages != null) { | |
| if (packages.stream().noneMatch(it -> MYPY_PACKAGE_NAME.equals(it.getName()))) { | |
| Notifications.showInstallMypy(project); | |
| return false; | |
| } | |
| } | |
| } |
enables compilation and functionality of the plugin for CLion (you have to explicitly give Path to Mypy executable in the settings).
Steps to reproduce:
-
Download the plugin https://github.com/leinardi/mypy-pycharm/releases/download/0.14.0/mypy-plugin-0.14.0.zip
-
Install the plugin from disk in CLion, pointing to the
.zipfile downloaded above -
Explicitly invoke the UI's
▷(Check Current File)
Observed Results:
This pops up repeatedly:
You cannot Configure Python interpreter, because the following option in Settings does not exist in CLion:
I built the modified plugin using the following quick steps:
-
Use IntelliJ IDEA to check out https://github.com/leinardi/mypy-pycharm.git in a new project
-
Remove the following lines
mypy-pycharm/src/main/java/com/leinardi/pycharm/mypy/mpapi/MypyRunner.java
Lines 159 to 176 in 26299d0
Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk(); if (projectSdk == null || projectSdk.getHomeDirectory() == null || !projectSdk.getHomeDirectory().exists()) { if (showNotifications) { Notifications.showNoPythonInterpreter(project); } return false; } else if (showNotifications) { PyPackageManager pyPackageManager = PyPackageManager.getInstance(projectSdk); List<PyPackage> packages = pyPackageManager.getPackages(); if (packages != null) { if (packages.stream().noneMatch(it -> MYPY_PACKAGE_NAME.equals(it.getName()))) { Notifications.showInstallMypy(project); return false; } } } -
Made any necessary gradle and/or Java version modifications
-
Use IntelliJ IDEA to
Run tests in mypy-pycharm/src/test. The plugin should be built inmypy-pycharm/build/libs/mypy-pycharm-0.14.0.jar -
Fill in the
Path to Mypy executable:
You should now have the mypy plugin working:





