diff --git a/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java b/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java index 1d5ace2b194e..6ef11bc29723 100644 --- a/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java +++ b/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java @@ -61,8 +61,6 @@ public abstract class PyPackageManager implements Disposable { public abstract void install(@Nullable List requirements, @NotNull List extraArgs) throws ExecutionException; - public abstract void uninstall(@NotNull List packages) throws ExecutionException; - public abstract void refresh(); public abstract @NotNull String createVirtualEnv(@NotNull String destinationDir, boolean useGlobalSite) throws ExecutionException; diff --git a/python/src/com/jetbrains/python/packaging/PyPackageManagerBridge.kt b/python/src/com/jetbrains/python/packaging/PyPackageManagerBridge.kt index 67450a4be800..5f1935a32d93 100644 --- a/python/src/com/jetbrains/python/packaging/PyPackageManagerBridge.kt +++ b/python/src/com/jetbrains/python/packaging/PyPackageManagerBridge.kt @@ -29,13 +29,6 @@ internal open class PyPackageManagerBridge(sdk: Sdk) : PyTargetEnvironmentPackag } } - @Throws(ExecutionException::class) - override fun uninstall(packages: MutableList) { - runBlockingMaybeCancellable { - packageManagerUI.uninstallPackagesBackground(packages.map { it.name }) - } - } - override fun refreshAndGetPackages(alwaysRefresh: Boolean): List { val pythonPackages = if (alwaysRefresh) { runBlockingMaybeCancellable { diff --git a/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java b/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java index a13534536318..555d8bdcd092 100644 --- a/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java +++ b/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java @@ -28,7 +28,6 @@ import org.jetbrains.annotations.Nullable; import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; @@ -109,32 +108,6 @@ public abstract class PyPackageManagerImpl extends PyPackageManagerImplBase { } } - @Override - public void uninstall(@NotNull List packages) throws ExecutionException { - final List args = new ArrayList<>(); - try { - args.add(UNINSTALL); - boolean canModify = true; - for (PyPackage pkg : packages) { - if (canModify) { - final String location = pkg.getLocation(); - if (location != null) { - canModify = Files.isWritable(Paths.get(location)); - } - } - args.add(pkg.getName()); - } - getHelperResult(args, !canModify, true); - } - catch (PyExecutionException e) { - throw PyExecutionExceptionExtKt.copyWith(e, "pip", args); - } - finally { - LOG.debug("Packages cache is about to be refreshed because these packages were uninstalled: " + packages); - refreshPackagesSynchronously(); - } - } - @Override public @Nullable List getPackages() { diff --git a/python/src/com/jetbrains/python/packaging/PyTargetEnvironmentPackageManager.java b/python/src/com/jetbrains/python/packaging/PyTargetEnvironmentPackageManager.java index aa524acc56da..d76aa4038596 100644 --- a/python/src/com/jetbrains/python/packaging/PyTargetEnvironmentPackageManager.java +++ b/python/src/com/jetbrains/python/packaging/PyTargetEnvironmentPackageManager.java @@ -40,9 +40,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.*; /** @@ -131,42 +129,6 @@ public abstract class PyTargetEnvironmentPackageManager extends PyPackageManager } } - @Override - public void uninstall(@NotNull List packages) throws ExecutionException { - List args = new ArrayList<>(); - HelpersAwareTargetEnvironmentRequest helpersAwareRequest = getPythonTargetInterpreter(); - TargetEnvironmentRequest targetEnvironmentRequest = helpersAwareRequest.getTargetEnvironmentRequest(); - PythonScriptExecution pythonExecution = - PythonScripts.prepareHelperScriptExecution(PythonHelper.PACKAGING_TOOL, helpersAwareRequest); - try { - pythonExecution.addParameter(UNINSTALL); - // TODO [targets] Remove temporary usage of String arguments - args.add(UNINSTALL); - boolean canModify = true; - for (PyPackage pkg : packages) { - if (canModify) { - final String location = pkg.getLocation(); - if (location != null) { - // TODO [targets] Introspection is required here - canModify = Files.isWritable(Paths.get(location)); - } - } - pythonExecution.addParameter(pkg.getName()); - // TODO [targets] Remove temporary usage of String arguments - args.add(pkg.getName()); - } - // TODO [targets] Pass `parentDir = null` - getPythonProcessResult(pythonExecution, !canModify, true, targetEnvironmentRequest); - } - catch (PyExecutionException e) { - throw PyExecutionExceptionExtKt.copyWith(e, "pip", args); - } - finally { - LOG.debug("Packages cache is about to be refreshed because these packages were uninstalled: " + packages); - refreshPackagesSynchronously(); - } - } - @Override public @Nullable List getPackages() { diff --git a/python/testSrc/com/jetbrains/env/python/PyPackagingTest.java b/python/testSrc/com/jetbrains/env/python/PyPackagingTest.java index 3cabdc387291..c57bb4a482c7 100644 --- a/python/testSrc/com/jetbrains/env/python/PyPackagingTest.java +++ b/python/testSrc/com/jetbrains/env/python/PyPackagingTest.java @@ -13,7 +13,6 @@ import com.jetbrains.env.PyTestTask; import com.jetbrains.python.packaging.PyPackage; import com.jetbrains.python.packaging.PyPackageManager; import com.jetbrains.python.packaging.requirement.PyRequirementRelation; -import com.jetbrains.python.sdk.PythonSdkUtil; import com.jetbrains.python.sdk.flavors.PythonSdkFlavor; import com.jetbrains.python.sdk.flavors.VirtualEnvSdkFlavor; import com.jetbrains.python.tools.sdkTools.SdkCreationType; @@ -121,10 +120,6 @@ public class PyPackagingTest extends PyEnvTestCase { final PyPackage pip1 = findPackage("pip", packages1); assertNotNull(pip1); assertEquals("pip", pip1.getName()); - manager.uninstall(Collections.singletonList(markdown2)); - final List packages3 = manager.refreshAndGetPackages(false); - final PyPackage markdown3 = findPackage("markdown", packages3); - assertNull(markdown3); } catch (ExecutionException e) { throw new RuntimeException(String.format("Error for interpreter '%s': %s", sdk.getHomePath(), e.getMessage()), e);