python - Conda 想在卸载时降级不相关的包
问题描述
我使用 conda 安装 galpy 包如下:
conda install galpy -c conda-forge
它一路安装并更新了许多软件包:
将安装以下新软件包:
blas: 1.0-mkl
galpy: 1.4.0-py27hb26f9ae_0 conda-forge
gsl: 2.2.1-h002c638_3
kiwisolver: 1.0.1-py27h2d50403_2 conda-forge
以下软件包将被更新:
ca-certificates: 2018.4.16-0 conda-forge --> 2018.10.15-ha4d7672_0 conda-forge
certifi: 2018.4.16-py27_0 conda-forge --> 2018.10.15-py27_1000 conda-forge
conda: 4.5.9-py27_0 conda-forge --> 4.5.11-py27_1000 conda-forge
matplotlib: 2.1.2-py27h6d6146d_0 --> 2.2.2-py27_1 conda-forge
numpy: 1.14.0-py27h8a80b8c_1 --> 1.14.2-py27ha9ae307_0
openssl: 1.0.2o-h470a237_1 conda-forge --> 1.0.2p-h470a237_1 conda-forge
然后我意识到,与其在系统范围内安装 galpy,我宁愿在我的用户空间中有一个副本。所以我尝试使用“conda uninstall galpy”卸载 galpy ......但它现在想要降级一堆不相关的包,包括 python 本身:
以下软件包将被删除:
galpy: 1.4.0-py27hb26f9ae_0 conda-forge
以下软件包将被更新:
cryptography: 2.1.4-py27hdbc5e8f_0 --> 2.4.1-py27ha12b0ac_0
curl: 7.58.0-ha441bb4_0 --> 7.62.0-ha441bb4_0
libcurl: 7.58.0-hf30b1f0_0 --> 7.62.0-h051b688_0
libssh2: 1.8.0-h322a93b_4 --> 1.8.0-ha12b0ac_4
openssl: 1.0.2p-h470a237_1 conda-forge --> 1.1.1-h1de35cc_0
以下软件包将被降级:
ca-certificates: 2018.10.15-ha4d7672_0 conda-forge --> 2018.03.07-0
certifi: 2018.10.15-py27_1000 conda-forge --> 2018.10.15-py27_0
conda: 4.5.11-py27_1000 conda-forge --> 4.5.11-py27_0
pycurl: 7.43.0.1-py27hdbc3d79_0 --> 7.19.0-py27_1
python: 2.7.14-hde5916a_29 --> 2.7.3-5
readline: 7.0-hc1231fa_4 --> 6.2-2
为什么它要降级这些它一开始从未接触过的软件包?我在安装和卸载之间完全没有进行任何包管理。
使用 --force 卸载安全吗?文档给出了可怕的警告,但我实际上并没有在两者之间做任何其他事情,也没有什么依赖于 galpy,所以感觉它应该是安全的。如果没有,我能做些什么来避免这些降级?
解决方案
似乎您必须指定安装时使用的相同频道。在这种情况下:
conda uninstall galpy -c conda-forge