由于某种原因,我决定升级setuptools。我运行conda install -c anaconda setuptools时弹出的所谓打包计划如下:

The following packages will be downloaded:

  package                    |            build
  ---------------------------|-----------------
  certifi-2019.3.9           |           py37_0         155 KB  anaconda
  pip-19.1.1                 |           py37_0         1.8 MB  anaconda
  python-3.7.2               |      h8c8aaf0_10        17.7 MB  anaconda
  setuptools-41.0.1          |           py37_0         680 KB  anaconda
  wheel-0.33.4               |           py37_0          57 KB  anaconda
  wincertstore-0.2           |           py37_0          13 KB  anaconda
  ------------------------------------------------------------
                                       Total:        20.4 MB

The following NEW packages will be INSTALLED:

   pip                anaconda/win-64::pip-19.1.1-py37_0

The following packages will be UPDATED:

  certifi     2018.11.29-py36_0 --> 2019.3.9-py37_0
  python      pkgs/main::python-3.6.4-h6538335_1 --> anaconda::python-3.7.2-h8c8aaf0_10
  setuptools  pkgs/main::setuptools-38.4.0-py36_0 --> anaconda::setuptools-41.0.1-py37_0
  wheel       pkgs/main::wheel-0.30.0-py36h6c3ec14_1 --> anaconda::wheel-0.33.4-py37_0

The following packages will be SUPERSEDED by a higher-priority channel:

  wincertstore     pkgs/main::wincertstore-0.2-py36h7fe5~ --> anaconda::wincertstore-0.2-py37_0

但是,升级破坏了我代码的其他真正需要的部分,因此无法更新。因此,我决定回滚到以前的状态。 conda list --revisions的最新修订为:
2019-02-12 15:10:38  (rev 12)
    bzip2  {1.0.6 (conda-forge) -> 1.0.6 (anaconda)}
    ca-certificates  {2018.03.07 -> 2019.1.23 (anaconda)}
    certifi  {2018.11.29 -> 2018.11.29 (anaconda)}
    conda  {4.5.12 -> 4.6.2 (anaconda)}
    nbconvert  {5.3.1 -> 5.4.0 (anaconda)}
    openssl  {1.1.1a -> 1.1.1 (anaconda)}
    snappy  {1.1.7 (conda-forge) -> 1.1.7 (anaconda)}
    vc  {14.1 -> 14.1 (anaconda)}
    vs2015_runtime  {14.15.26706 -> 15.5.2 (anaconda)}
    yaml  {0.1.7 (conda-forge) -> 0.1.7 (anaconda)}
    zlib  {1.2.11 (conda-forge) -> 1.2.11 (anaconda)}
   +defusedxml-0.5.0 (anaconda)

2019-05-17 16:52:29  (rev 13)
    certifi  {2018.11.29 (anaconda) -> 2019.3.9 (anaconda)}
    pip  {9.0.1 -> 19.1.1 (anaconda)}
    python  {3.6.4 -> 3.7.2 (anaconda)}
    setuptools  {38.4.0 -> 41.0.1 (anaconda)}
    wheel  {0.30.0 -> 0.33.4 (anaconda)}
    wincertstore  {0.2 -> 0.2 (anaconda)}

现在的问题是,当我执行conda install --revision 12时,出现以下错误:
PackagesNotFoundError: The following packages are missing from the target environment:
    - anaconda::certifi==2018.11.29=py36_0

有什么想法如何回滚吗?

非常感谢

最佳答案

看来您正在维护环境
发出一系列conda install命令。
您可以继续这样做,
在命令行上带有附加的版本说明。
但我鼓励您改用这种方法:

创建一个如下所示的environment.yml文件。

name: myproject

channels:
  - defaults
  - conda-forge

dependencies:
  - bzip2 >= 1.0.6
  - pip >= 19.1.1
  - snappy >= 1.1.7
  - zlib >= 1.2.11

根据需要添加其他人。

使用conda env update安装软件包。
(使用which python,您可以看到它们的安装位置。)

这种方法的优点是您可以轻松地rm -rf ~/miniconda3/envs/myproject/(或安装它们的任何地方)
然后conda env update从头开始重新安装。
这通常可以解决版本炎问题,
或至少提供一个提示
关于应该放宽哪些版本限制
提供可行的解决方案。

关于python - Anaconda python : PackagesNotFoundError error when trying to roll back revision,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56190556/

10-16 18:00