Anaconda 4.7.5 - Предупреждение о conda-build <3.18.3 и проблемах с пакетами python

Я запустил дистрибутив Python Anaconda на Ubuntu Linux 18.04 LTS x64 и только что обновил дистрибутив обычным conda update --all. После этого в сообщении командной строки предлагалось обновить базовые настройки conda. Теперь по какой-то причине у меня возникла пара вопросов. Во-первых, я не могу запустить jupyter lab, даже после попытки переустановить conda install jupyter. И во-вторых, я получаю это новое предупреждение.

    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.

Итак, я посмотрел и нашел этот блог с сегодняшнего дня о том, как сделать Анаконду быстрее. Но пост, кажется, больше информации и не рекомендует обновлять сразу.

Вот вывод из 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, или есть более простое исправление?

ОБНОВИТЬ

Поэтому я опубликовал этот выпуск в репо conda на Github. Текущий выпуск, открытый против этой проблемы, упомянут ниже. По словам msarahan здесь лежит основа проблемы и просто временное решение

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

  1. Анаконда - это метапакет. Каждая версия состоит из набора версий, которые прошли QA вместе в виде набора. Если вы измените какую-либо версию какого-либо пакета в этой коллекции, у вас больше не будет этого метапакета, потому что вы отклонились от этого известного набора. Существует специальная версия этого метапакета, custom, которая предназначена для обработки этого ослабления ограничений. "Пользовательская" версия зависит только от конкретной версии python - она снимает ограничения для всех других пакетов.

  2. conda 4.7 создает кандидатов на добавление в отличие от более ранних версий conda. Он начинается со спецификаций из истории и пытается ограничить возможности, чтобы ускорить решение. Когда conda находит метапакет anaconda с "пользовательской" версией, он сохраняет его, но все эти другие зависимости теперь становятся сиротами. Вот почему Конда удаляет их - у них нет истории в истории, которая говорит Конде оставить их.

Вы можете восстановить их, запустив conda install --only-deps anaconda. С тех пор все эти пакеты считаются частью вашей явной истории, и у вас больше не возникнет подобных проблем.

Ответы

Ответ 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. К сожалению, для созданной мной среды tenorflow мне пришлось переустанавливать ее. Также рекомендуется создать yaml файл вашей среды, как только он заработает, чтобы вы могли переустановить его в любое время. Это сделано с

conda env export > name.yaml

Вам нужно активировать среду anaconda, чтобы она работала, и указать место на диске, где вы хотите сохранить файл.

Для создания среды из файла yaml просто используйте:

conda env create -f name.yaml

Чтобы упростить процесс, я привожу здесь результат, полученный для своей среды tenorflow-gpu (вы можете видеть, что у меня до 11 ревизий). Не эксперт по conda, но кажется, что ревизии работают как git, записывая ваши изменения и позволяя вам вернуться к ним. Однако кажется также, что это зависит от погоды, у вас есть резервные файлы установок в среде conda, которые, вероятно, теряются при запуске команды conda clean:

(base) [email protected]:~$ conda activate tf_gpu_10
(tf_gpu_10) [email protected]:~$ 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)

Ответ 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 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, и он <3.18.3. Обновите или удалите conda-build, чтобы загружать меньше и быстрее извлекать ". Я выполнил действия, указанные @msarahan в проблеме в GitHub - перейдите по ссылке: https://github.com/conda/conda/issues/8832.

шаги:

1 - установить анаконду с https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh
2 - обновить conda: conda обновить conda
3 - Конда установить hdf5 - "см предупреждение"
4 - обновление conda conda-build "(conda-build является частью anaconda с 2018.12, IIRC)"

5 - конда установить hdf5 - "предупреждение ушло"

Меня устраивает. Надеюсь, это поможет.

Ответ 7

Я сделал следующее: попробовал удалить и обновить conda-build, однако пакет не был найден

  1. Pip install conda-build
  2. Это дало мне ошибку, но я мог сделать потом
  3. Conda install conda-build

Задача решена

Надеюсь, поможет