ChatGPT解决这个技术问题 Extra ChatGPT

Conda uninstall one package and one package only

When I try to uninstall pandas from my conda virtual env, I see that it tries to uninstall more packages as well:

$ conda uninstall pandas
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ....
Solving package specifications: .........

Package plan for package removal in environment /Users/amelio/anaconda/envs/py35:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    dask-0.7.6                 |           py35_0         276 KB

The following packages will be REMOVED:

    blaze:       0.10.1-py35_0
    odo:         0.5.0-py35_1
    pandas:      0.18.1-np111py35_0
    seaborn:     0.7.0-py35_0
    statsmodels: 0.6.1-np111py35_1

The following packages will be DOWNGRADED:

    dask:        0.10.1-py35_0      --> 0.7.6-py35_0

Proceed ([y]/n)?

I would like to uninstall pandas only and not have anything else downgraded.

I understand that there these packages have dependencies to pandas and even to specific versions of pandas, but is this even possible at all with conda?

Partial motivation

My understanding is that it isn't that easy to install a package from GitHub using conda. At least it isn't as easy as using a one-liner as one can do with pip.

Since I want to use the version in master, my plan is to uninstall the conda version and use pip to install pandas from master on the official repo GitHub.

How can I do this?

a simple solution would be to just pip install the new version from master over conda's version.

d
darthbith

You can use conda remove --force.

The documentation says:

--force               Forces removal of a package without removing packages
                      that depend on it. Using this option will usually
                      leave your environment in a broken and inconsistent
                      state

For me, I was trying to get around all the extra fluff when you run plain conda remove x about updates/etc, but I still wanted to remove some dependencies. I was able to do some piping: conda remove --force -y $(conda list $MATCHING_PATTERN | grep "$MATCHING_PATTERN" | awk '{ print $1 }') got rid of a package and its dependencies matching $MATCHING_PATTERN
conda remove --force pandas
unfortunately this isn't possible with mamba at the moment: github.com/mamba-org/mamba/issues/412