【问题标题】:Anaconda 4.7.5 - Warning about conda-build <3.18.3 and issues with python packagesAnaconda 4.7.5 - 关于 conda-build <3.18.3 和 python 包问题的警告
【发布时间】:2019-11-07 23:15:50
【问题描述】:

我在 Ubuntu Linux 18.04 LTS x64 上运行 Anaconda python 发行版,并使用通常的 conda update --all 更新了发行版。之后,命令行消息建议更新 conda 基本默认值。现在由于某种原因,我遇到了几个问题。首先,即使尝试重新安装conda install jupyter,我也无法启动jupyter lab。其次,我收到了这条新警告信息。

    WARNING conda.base.context:use_only_tar_bz2(632):
 Conda is constrained to only using the old .tar.bz2
 file format because you have conda-build installed,
 and it is <3.18.3.  Update or remove conda-build to
 get smaller downloads and faster extractions.

所以我从今天开始查看并找到了这个blog post 关于让 Anaconda 更快。但是该帖子似乎提供了更多信息,并且似乎不建议立即升级。

这是conda info的输出。

     active environment : XXX
    active env location : XXX
            shell level : 2
       user config file : ../.condarc
 populated config files : ../.condarc
          conda version : 4.7.5
    conda-build version : 3.17.8
         python version : 3.6.6.final.0
       virtual packages : __cuda=10.1
       base environment : ../anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : ../.conda/pkgs
       envs directories : ../.conda/envs
               platform : linux-64
             user-agent : conda/4.7.5 requests/2.22.0 CPython/3.6.6 Linux/4.15.0-50-generic ubuntu/18.04.2 glibc/2.27
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

还有其他人遇到过这个问题吗?我应该删除旧的 anaconda 发行版并下载并安装新版本的 4.7,还是有更简单的修复方法?

更新

所以我确实将此问题发布到 Github 上的 conda 存储库。下面列出了针对此问题的当前问题。根据msarahan,这是问题的根源,只是临时解决方法

https://github.com/conda/conda/issues/8842

  1. anaconda 是一个元包。每个版本由一组版本组成 所有这些都作为一组一起通过了 QA。如果你改变任何 该集合中任何软件包的版本,您不再拥有该版本 元包,因为你已经偏离了那个已知的集合。有一个 该元包的特殊版本,自定义,用于处理 这种约束的放松。 “自定义”版本仅取决于 特定版本的 python - 它消除了所有其他的约束 包。

  2. conda 4.7 以不同的方式构建候选对象以进行添加 从早期的康达版本。它从历史的规格开始, 并尝试在可能的情况下限制事物,以加快解决方案。 当 conda 找到带有“自定义”版本的 anaconda 元包时, 它保留了它,但所有其他依赖项现在都是孤立的。 这就是 conda 删除它们的原因 - 它们在历史上没有规范 这告诉 conda 保留它们。

您可以通过运行 conda install --only-deps anaconda 来恢复这些。从那时起,所有这些包都是 被认为是你明确历史的一部分,你不会有更多的 这样的问题。

【问题讨论】:

  • FWIW 我今天早些时候用这种方式炸毁了我的工作环境并花了一天的剩余时间试图修复它 - 到目前为止没有成功
  • @Daniel man 很遗憾听到这个消息。是的,我几乎尝试重新安装所有 anaconda,但随后进入环境文件夹并解决了一些问题site-packages,它修复了一些问题。但我仍然收到这些警告。为什么他们在没有明确解释或迁移路径的情况下发布这些东西。
  • 我的问题有点复杂。在 4.6 中,我使用 pip_interop_enabled: true channel_priority: strict 来保持我的环境健全。有了这些设置,4.7 开始想要删除基本包,没有它们,它会变得无可救药地混乱。我最终从头开始重新安装并固定 4.6。

标签: python anaconda conda


【解决方案1】:
conda activate base  # or just conda deactivate
conda update conda-build

(或者干脆conda update -n base -c defaults conda-build

如果这不能解决,请尝试回滚到更新到 4.7.5 之前,正如 @LeninGF 建议的那样,然后删除 conda 元数据,清理 conda,然后再次尝试更新,即

conda list --revisions  # find number, x, before the update
conda install --revision x
rm -rf ~/.conda
conda clean --all
conda update conda

【讨论】:

    【解决方案2】:

    我刚刚通过更新遇到了同样的问题。以下帮助我恢复了基础环境。我正在另一个环境中测试它是否有效。

    conda list --revisions
    conda install --revision  dd
    

    其中 dd 是您希望返回的修订号

    例如:

    conda install --revision 8
    

    这帮助我恢复了我的基本 conda 环境。不幸的是,对于我创建的 tensorflow 环境,我不得不重新安装。还建议在您的环境运行后创建一个 yaml 文件,以便您可以随时重新安装。这是通过

    完成的
    conda env export > name.yaml
    

    您需要激活您的 anaconda 环境才能使其正常工作,并指向磁盘中您要存储文件的位置。

    要从 yaml 文件创建环境,只需使用:

    conda env create -f name.yaml
    

    为了方便起见,我在此处附上了我为我的 tensorflow-gpu 环境获得的结果(您可以看到我最多有 11 个修订版)。不是 conda 方面的专家,但似乎 revisions 像 git 一样工作,记录您的更改并让您返回它们。但是,这似乎也取决于天气,您在 conda 环境中安装了备份文件,当您运行 conda clean 命令时可能会丢失:

    (base) leninml@Lenin:~$ conda activate tf_gpu_10
    (tf_gpu_10) leninml@Lenin:~$ conda list --revisions
    2019-06-26 12:50:10  (rev 0)
    
    2019-06-26 12:59:19  (rev 1)
        +_tflow_select-2.1.0 (anaconda)
        +absl-py-0.7.1 (anaconda)
        +astor-0.7.1 (anaconda)
        +blas-1.0 (anaconda)
        +c-ares-1.15.0 (anaconda)
        +ca-certificates-2019.5.15 (anaconda)
        +certifi-2019.6.16 (anaconda)
        +cudatoolkit-10.0.130 (anaconda)
        +cudnn-7.6.0 (anaconda)
        +cupti-10.0.130 (anaconda)
        +gast-0.2.2 (anaconda)
        +grpcio-1.16.1 (anaconda)
        +h5py-2.9.0 (anaconda)
        +hdf5-1.10.4 (anaconda)
        +intel-openmp-2019.4 (anaconda)
        +keras-applications-1.0.8 (anaconda)
        +keras-preprocessing-1.1.0 (anaconda)
        +libedit-3.1.20181209 (anaconda)
        +libffi-3.2.1 (anaconda)
        +libgcc-ng-9.1.0 (anaconda)
        +libgfortran-ng-7.3.0 (anaconda)
        +libprotobuf-3.8.0 (anaconda)
        +libstdcxx-ng-9.1.0 (anaconda)
        +markdown-3.1.1 (anaconda)
        +mkl-2019.4 (anaconda)
        +mkl_fft-1.0.12 (anaconda)
        +mkl_random-1.0.2 (anaconda)
        +mock-3.0.5 (anaconda)
        +ncurses-6.1 (anaconda)
        +numpy-1.16.4 (anaconda)
        +numpy-base-1.16.4 (anaconda)
        +openssl-1.1.1 (anaconda)
        +pip-19.1.1 (anaconda)
        +protobuf-3.8.0 (anaconda)
        +python-3.7.3 (anaconda)
        +readline-7.0 (anaconda)
        +scipy-1.2.1 (anaconda)
        +setuptools-41.0.1 (anaconda)
        +six-1.12.0 (anaconda)
        +sqlite-3.28.0 (anaconda)
        +tensorboard-1.13.1 (anaconda)
        +tensorflow-1.13.1 (anaconda)
        +tensorflow-base-1.13.1 (anaconda)
        +tensorflow-estimator-1.13.0 (anaconda)
        +tensorflow-gpu-1.13.1 (anaconda)
        +termcolor-1.1.0 (anaconda)
        +tk-8.6.8 (anaconda)
        +werkzeug-0.15.4 (anaconda)
        +wheel-0.33.4 (anaconda)
        +xz-5.2.4 (anaconda)
        +zlib-1.2.11 (anaconda)
    
    2019-06-26 13:00:52  (rev 2)
        +backcall-0.1.0 (anaconda)
        +decorator-4.4.0 (anaconda)
        +ipython-7.5.0 (anaconda)
        +ipython_genutils-0.2.0 (anaconda)
        +jedi-0.13.3 (anaconda)
        +parso-0.4.0 (anaconda)
        +pexpect-4.7.0 (anaconda)
        +pickleshare-0.7.5 (anaconda)
        +prompt_toolkit-2.0.9 (anaconda)
        +ptyprocess-0.6.0 (anaconda)
        +pygments-2.4.2 (anaconda)
        +traitlets-4.3.2 (anaconda)
        +wcwidth-0.1.7 (anaconda)
    
    2019-06-26 13:05:42  (rev 3)
         blas  {1.0 (anaconda) -> 2.7 (conda-forge)}
         ca-certificates  {2019.5.15 (anaconda) -> 2019.6.16 (conda-forge)}
         certifi  {2019.6.16 (anaconda) -> 2019.6.16 (conda-forge)}
         grpcio  {1.16.1 (anaconda) -> 1.16.1}
         mkl_fft  {1.0.12 (anaconda) -> 1.0.13 (conda-forge)}
         mkl_random  {1.0.2 (anaconda) -> 1.0.4 (conda-forge)}
         numpy  {1.16.4 (anaconda) -> 1.16.4}
         numpy-base  {1.16.4 (anaconda) -> 1.16.4}
         openssl  {1.1.1 (anaconda) -> 1.1.1b (conda-forge)}
         scipy  {1.2.1 (anaconda) -> 1.3.0 (conda-forge)}
        +joblib-0.13.2 (conda-forge)
        +libblas-3.8.0 (conda-forge)
        +libcblas-3.8.0 (conda-forge)
        +liblapack-3.8.0 (conda-forge)
        +liblapacke-3.8.0 (conda-forge)
        +libopenblas-0.3.6
        +openblas-0.3.5 (conda-forge)
        +scikit-learn-0.21.2 (conda-forge)
    
    2019-06-26 13:08:05  (rev 4)
         tk  {8.6.8 (anaconda) -> 8.6.9 (conda-forge)}
        +cycler-0.10.0 (conda-forge)
        +dbus-1.13.6 (conda-forge)
        +expat-2.2.5 (conda-forge)
        +fontconfig-2.13.1 (conda-forge)
        +freetype-2.10.0 (conda-forge)
        +gettext-0.19.8.1 (conda-forge)
        +glib-2.58.3 (conda-forge)
        +gst-plugins-base-1.14.5 (conda-forge)
        +gstreamer-1.14.5 (conda-forge)
        +icu-58.2 (conda-forge)
        +jpeg-9c (conda-forge)
        +kiwisolver-1.1.0 (conda-forge)
        +libiconv-1.15 (conda-forge)
        +libpng-1.6.37 (conda-forge)
        +libuuid-2.32.1 (conda-forge)
        +libxcb-1.13 (conda-forge)
        +libxml2-2.9.9 (conda-forge)
        +matplotlib-3.1.0 (conda-forge)
        +matplotlib-base-3.1.0 (conda-forge)
        +pcre-8.41 (conda-forge)
        +pthread-stubs-0.4 (conda-forge)
        +pyparsing-2.4.0 (conda-forge)
        +pyqt-5.9.2 (conda-forge)
        +python-dateutil-2.8.0 (conda-forge)
        +qt-5.9.7 (conda-forge)
        +sip-4.19.8 (conda-forge)
        +tornado-6.0.3 (conda-forge)
        +xorg-libxau-1.0.9 (conda-forge)
        +xorg-libxdmcp-1.1.3 (conda-forge)
    
    2019-06-26 13:10:31  (rev 5)
         ca-certificates  {2019.6.16 (conda-forge) -> 2019.5.15 (anaconda)}
         certifi  {2019.6.16 (conda-forge) -> 2019.6.16 (anaconda)}
         openssl  {1.1.1b (conda-forge) -> 1.1.1 (anaconda)}
        +cloudpickle-1.1.1 (anaconda)
        +cytoolz-0.9.0.1 (anaconda)
        +dask-core-1.2.2 (anaconda)
        +imageio-2.5.0 (anaconda)
        +libtiff-4.0.10 (anaconda)
        +networkx-2.3 (anaconda)
        +olefile-0.46 (anaconda)
        +pillow-6.0.0 (anaconda)
        +pywavelets-1.0.3 (anaconda)
        +scikit-image-0.15.0 (anaconda)
        +toolz-0.9.0 (anaconda)
        +zstd-1.3.7 (anaconda)
    
    2019-06-26 13:12:14  (rev 6)
         ca-certificates  {2019.5.15 (anaconda) -> 2019.6.16 (conda-forge)}
         certifi  {2019.6.16 (anaconda) -> 2019.6.16 (conda-forge)}
         openssl  {1.1.1 (anaconda) -> 1.1.1b (conda-forge)}
        +tensorflow-hub-0.5.0 (conda-forge)
    
    2019-06-26 13:13:00  (rev 7)
         tensorboard  {1.13.1 (anaconda) -> 1.13.1 (conda-forge)}
    
    2019-06-26 13:13:47  (rev 8)
         ca-certificates  {2019.6.16 (conda-forge) -> 2019.5.15 (anaconda)}
         certifi  {2019.6.16 (conda-forge) -> 2019.6.16 (anaconda)}
         openssl  {1.1.1b (conda-forge) -> 1.1.1 (anaconda)}
        +pandas-0.24.2 (anaconda)
        +pytz-2019.1 (anaconda)
    
    2019-06-26 13:14:36  (rev 9)
         ca-certificates  {2019.5.15 (anaconda) -> 2019.6.16 (conda-forge)}
         certifi  {2019.6.16 (anaconda) -> 2019.6.16 (conda-forge)}
         openssl  {1.1.1 (anaconda) -> 1.1.1b (conda-forge)}
        +pydicom-1.2.2 (conda-forge)
    
    2019-06-26 13:19:06  (rev 10)
         ca-certificates  {2019.6.16 (conda-forge) -> 2019.5.15 (anaconda)}
         certifi  {2019.6.16 (conda-forge) -> 2019.6.16 (anaconda)}
         openssl  {1.1.1b (conda-forge) -> 1.1.1 (anaconda)}
        +attrs-19.1.0 (anaconda)
        +bleach-3.1.0 (anaconda)
        +defusedxml-0.6.0 (anaconda)
        +entrypoints-0.3 (anaconda)
        +gmp-6.1.2 (anaconda)
        +ipykernel-5.1.1 (anaconda)
        +ipywidgets-7.4.2 (anaconda)
        +jinja2-2.10.1 (anaconda)
        +jsonschema-3.0.1 (anaconda)
        +jupyter-1.0.0 (anaconda)
        +jupyter_client-5.2.4 (anaconda)
        +jupyter_console-6.0.0 (anaconda)
        +jupyter_core-4.4.0 (anaconda)
        +libsodium-1.0.16 (anaconda)
        +markupsafe-1.1.1 (anaconda)
        +mistune-0.8.4 (anaconda)
        +nbconvert-5.5.0 (anaconda)
        +nbformat-4.4.0 (anaconda)
        +notebook-5.7.8 (anaconda)
        +pandoc-2.2.3.2 (anaconda)
        +pandocfilters-1.4.2 (anaconda)
        +prometheus_client-0.6.0 (anaconda)
        +pyrsistent-0.14.11 (anaconda)
        +pyzmq-18.0.0 (anaconda)
        +qtconsole-4.5.1 (anaconda)
        +send2trash-1.5.0 (anaconda)
        +terminado-0.8.2 (anaconda)
        +testpath-0.4.2 (anaconda)
        +webencodings-0.5.1 (anaconda)
        +widgetsnbextension-3.4.2 (anaconda)
        +zeromq-4.3.1 (anaconda)
    
    2019-06-26 13:33:00  (rev 11)
         ca-certificates  {2019.5.15 (anaconda) -> 2019.6.16 (conda-forge)}
         certifi  {2019.6.16 (anaconda) -> 2019.6.16 (conda-forge)}
         openssl  {1.1.1 (anaconda) -> 1.1.1b (conda-forge)}
        +binutils_impl_linux-64-2.31.1
        +binutils_linux-64-2.31.1
        +gcc_impl_linux-64-7.3.0 (conda-forge)
        +gcc_linux-64-7.3.0 (conda-forge)
        +gxx_impl_linux-64-7.3.0 (conda-forge)
        +gxx_linux-64-7.3.0 (conda-forge)
        +keras-2.2.4 (conda-forge)
        +libgpuarray-0.7.6 (conda-forge)
        +mako-1.0.10 (conda-forge)
        +pygpu-0.7.6 (conda-forge)
        +pyyaml-5.1.1 (conda-forge)
        +theano-1.0.4 (conda-forge)
        +yaml-0.1.7 (conda-forge)
    

    【讨论】:

    • 您可能需要检查修订列表并进行几次安装。在我的例子中,tensorflow 和 cuda 之间的关系被破坏了,我不得不在更新事件之前进行两次修订。
    • 我应该在“conda list --revisions”中看到什么?我那里没有任何名为 conda 的包。我确实看到列出(rev 1)到(rev 20)的日常报告。这就是 CLI 中“--revision”的意思吗?
    • @pauljohn32 您应该会看到按修订版(如版本更新)的软件包更改列表。我看到类似conda {4.6.14 -&gt; 4.7.5} 的东西。嗯,你在那里没有看到condaconda 包管理器是否为您工作,喜欢安装包等。
    • @pauljohn32 首先,您必须激活有冲突或要检查修订的环境。这是通过:conda activate name_of_environment 完成的。然后你写 conda list --revisions 并且你应该在 shell 中获得关于你对 conda 环境所做的所有安装和更改的信息
    【解决方案3】:
    conda update conda-build
    

    输出:

    The following packages will be UPDATED:
    conda-build                                 3.17.8-py37_0 --> 3.18.5-py37_0
    

    conda info 命令的输出(conda-build 已从 3.17.8 更新):

         active environment : None
           user config file : /Users/<user>/.condarc
     populated config files : /Users/<user>/.condarc
              conda version : 4.7.5
        conda-build version : 3.18.5
             python version : 3.7.3.final.0
           virtual packages : 
           base environment : /Users/<user>/anaconda3  (writable)
               channel URLs : https://repo.anaconda.com/pkgs/main/osx-64
                              https://repo.anaconda.com/pkgs/main/noarch
                              https://repo.anaconda.com/pkgs/r/osx-64
                              https://repo.anaconda.com/pkgs/r/noarch
              package cache : /Users/<user>/anaconda3/pkgs
                              /Users/<user>/.conda/pkgs
           envs directories : /Users/<user>/anaconda3/envs
                              /Users/<user>/.conda/envs
                   platform : osx-64
                 user-agent : conda/4.7.5 requests/2.21.0 CPython/3.7.3 Darwin/18.5.0 OSX/10.14.4
                    UID:GID : 501:20
                 netrc file : /Users/<user>/.netrc
               offline mode : False
    

    【讨论】:

      【解决方案4】:

      conda update conda-build 命令也对我有用,无需在运行之前先运行pip install conda-build

      之后,警告消失了。

      【讨论】:

        【解决方案5】:

        对我来说,解决方案是(在 Anaconda Prompt 中)运行以下内容:

        • conda install anaconda
        • conda update conda-build
        • conda update --all

        之后警告消息消失,我可以再次更新/安装软件包。

        【讨论】:

          【解决方案6】:

          我使用的是 Linux64,昨天安装后我遇到了以下问题:更新“conda-build”的警告伴随着“Conda 仅限于使用旧的 .tar.bz2 文件格式,因为您有 conda -build 已安装,它是 “。 我按照@msarahan 在 GitHub 中的问题中指出的步骤进行操作 - 转到:https://github.com/conda/conda/issues/8832

          步骤:

          1 - 从https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh安装anaconda
          2 - 更新 conda:conda 更新 conda
          3 - conda install hdf5 - “看到警告
          4 - conda update conda-build "(conda-build 自 2018.12, IIRC 以来是 anaconda 的一部分)"

          5 - conda install hdf5 - “警告消失了

          它对我有用。我希望这会有所帮助。

          【讨论】:

            【解决方案7】:

            我做了以下事情: 试过remove和updateconda-build都没有找到包

            1. Pip install conda-build
            2. 它给了我一个错误,但我可以在之后做
            3. Conda install conda-build

            问题解决了

            希望对你有帮助

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-11-04
              • 2019-07-13
              • 1970-01-01
              • 2021-11-10
              • 2019-07-15
              • 1970-01-01
              相关资源
              最近更新 更多