Allow removing packages from a conda environment

3011
5
06-18-2021 04:40 PM
Status: Closed
Labels (1)
Brian_Wilson
Occasional Contributor III

There is no "remove" option in ArcGIS Pro for packages. You can only add them. If there is a package in the default, there is no way to resolve conflicts. 

5 Comments
DanPatterson
(arcgispro-py3) C:\arc_pro\bin\Python\envs\arcgispro-py3>conda remove arcgis --force --dry-run

## Package Plan ##

  environment location: C:\..your install folder..\bin\Python\envs\arcgispro-py3

  removed specs:
    - arcgis

The following packages will be REMOVED:

  arcgis-1.8.5-py37_1783

DryRunExit: Dry run. Exiting.

Now see what happens when you remove --force  (keep --dry-run though 😉 )

Brian_Wilson

Yes Dan, there is in fact a command line for Conda but this suggestion was that Esri might consider adding as a "remove package" feature to AGP.  I am not convinced it's a good idea because I personally like the idea of apps being much more focused. They tried the "separate apps" approach with ArcMap + ArcCat but it did not work out for them apparently.  

How does a product manager know when to stop? Clearly this functionality is missing, but if they keep adding more it will make AGP unwieldy.

I've looked at Anaconda Navigator and feel they have gone way too far with it so I've never recommended it. It's like they are trying to replace the desktop.

This morning I am thinking what I've always suggested is best. DON'T use the AGP conda interface. Don't use Anaconda Navigator. Use conda at the command line. The only thing AGP needs is the ability to set the environment for the current project. And of course, you should be able to change environments without restarting AGP. 

Having added too many features to an app it is extremely difficult to remove any. Then people (like me) ask for more.

I think this just ramified into 5 different ideas, all before coffee. Oops.

 

ShaunWalbridge
Status changed to: Closed

@Brian_Wilsonthank you for your ArcGIS idea contribution. If working in a custom conda environment, you can remove packages that have been added. But we don't allow users to remove packages that are either required by Geoprocessing tools or other components that are included in Pro, to prevent situations where functionality breaks and the cause is non-obvious to the user.

If you want to have environments which are fully customizable, as you mention in your follow-up comment, the command line is the best place to work. Conda is primarily a developer focused tool, and most of its ecosystem is built around command-line use-cases. You may also find that instead of doing cloning, you can take advantage of the standalone ArcPy package. You can create an environment with it using `conda create --name arcpy arcpy` and it will install an environment that can be manipulated freely but still able to import ArcPy.

Brian_Wilson

When people ask me for help, most of them are terrified of working at the command line.

Personally I never use the package manager.

 

ShaunWalbridge

I agree most users would prefer to avoid the command line. For the non-default packages, they can be removed by clicking the Uninstall button in the backstage:

ShaunWalbridge_0-1628916542917.png

For the specific feature requested in this idea, I think that suffices. If there are other concerns or needs, we can address them in separate ideas or issues.