ChatGPT解决这个技术问题 Extra ChatGPT

conda卸载一个包,只卸载一个包

当我尝试从我的 conda 虚拟环境中卸载 pandas 时,我看到它也尝试卸载更多包:

$ 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)?

我想卸载pandas only 并且不降级任何其他内容。

我知道这些软件包对 pandas 甚至对熊猫的特定版本具有依赖关系,但对于 conda,这甚至可能吗?

部分动机

我的理解是使用 conda 从 GitHub 安装软件包 isn't that easy。至少它不像使用 pip 那样简单。

由于我想使用 master 中的版本,我的计划是卸载 conda 版本并使用 pip 从官方 repo GitHub 上的 master 安装 pandas

我怎样才能做到这一点?

一个简单的解决方案是 pip 从 master 安装新版本而不是 conda 的版本。

d
darthbith

您可以使用 conda remove --force

文档说:

--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

对我来说,当您运行有关更新/等的普通 conda remove x 时,我试图绕过所有额外的绒毛,但我仍然想删除一些依赖项。我能够做一些管道:conda remove --force -y $(conda list $MATCHING_PATTERN | grep "$MATCHING_PATTERN" | awk '{ print $1 }') 摆脱了一个包及其与 $MATCHING_PATTERN 匹配的依赖项
conda 删除 --force 熊猫
不幸的是,目前 mamba 无法做到这一点:github.com/mamba-org/mamba/issues/412