From a6fbff6218c5efa759ac8f218a1890cdf34df116 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Fri, 25 Sep 2015 11:15:18 +0300 Subject: [PATCH] PY-16846 Not able to create django project: could not find Dajngo installation under detected or added during creation interpreter --- .../PyActiveSdkModuleConfigurable.java | 1 + .../actions/GenerateProjectCallback.java | 17 ++++++++++------- .../jetbrains/python/sdk/PythonSdkUpdater.java | 9 +++++++++ 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkModuleConfigurable.java b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkModuleConfigurable.java index 9b776c870c0a..88e0e0157dd5 100644 --- a/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkModuleConfigurable.java +++ b/python/ide/src/com/jetbrains/python/configuration/PyActiveSdkModuleConfigurable.java @@ -33,6 +33,7 @@ public class PyActiveSdkModuleConfigurable extends ModuleAwareProjectConfigurabl public PyActiveSdkModuleConfigurable(Project project) { super(project, "Project Interpreter", "reference.settings.project.interpreter"); myProject = project; + PythonSdkUpdater.getInstance().clearAlreadyUpdated(); } @NotNull diff --git a/python/ide/src/com/jetbrains/python/newProject/actions/GenerateProjectCallback.java b/python/ide/src/com/jetbrains/python/newProject/actions/GenerateProjectCallback.java index 09e53555c595..414c8707502a 100644 --- a/python/ide/src/com/jetbrains/python/newProject/actions/GenerateProjectCallback.java +++ b/python/ide/src/com/jetbrains/python/newProject/actions/GenerateProjectCallback.java @@ -22,9 +22,9 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; -import com.intellij.openapi.projectRoots.ProjectJdkTable; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.SdkAdditionalData; +import com.intellij.openapi.projectRoots.SdkModificator; import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil; import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectSdksModel; import com.intellij.openapi.util.Computable; @@ -37,10 +37,7 @@ import com.intellij.util.NullableConsumer; import com.jetbrains.python.configuration.PyConfigurableInterpreterList; import com.jetbrains.python.newProject.PyNewProjectSettings; import com.jetbrains.python.newProject.PythonProjectGenerator; -import com.jetbrains.python.sdk.PyDetectedSdk; -import com.jetbrains.python.sdk.PySdkService; -import com.jetbrains.python.sdk.PythonSdkAdditionalData; -import com.jetbrains.python.sdk.PythonSdkType; +import com.jetbrains.python.sdk.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -67,8 +64,14 @@ public class GenerateProjectCallback implements NullableConsumer sysPath) { + if (getInstance().isAlreadyUpdated(sdkUpdater.getHomePath())) return; addNewSysPathEntries(sdkUpdater, sysPath); removeSourceRoots(sdkUpdater); removeDuplicateClassRoots(sdkUpdater); @@ -303,4 +304,12 @@ public class PythonSdkUpdater implements StartupActivity { } return false; } + + public void clearAlreadyUpdated() { + myAlreadyUpdated.clear(); + } + + public boolean isAlreadyUpdated(String path) { + return myAlreadyUpdated.contains(path); + } }