Как создать локальный сервер обновлений для Anaconda Python?

Как создать локальный сервер обновлений для Anaconda Python?

У меня есть несколько сетевых компьютеров, которые не имеют доступа к Интернету. На каждом из этих компьютеров мне нужно установить дистрибутив Anaconda Python. В настоящее время это делается путем ручной установки на каждой машине через общую папку на сервере.

Однако это оставляет машины статически настроенными на установленную версию Anaconda и не позволяет обновляться с помощью команд conda update. Это также означает, что среды не могут быть созданы с помощью команды conda create.

Я хотел бы настроить централизованный сервер, на котором мы могли бы вручную поддерживать версии Anaconda Python (например, python 2.7.x и python 3.x). Пользователи на других машинах затем могли бы ссылаться на этот сервер обновлений и могли бы обновлять и даже создавать новые среды, просто используя команды conda updateили conda create.

Как это настроить?

решение1

Создайте HTTP-сервер и скопируйте весь контент сhttp://repo.continuum.io/pkgs/. Укажите на этот новый сервер файл .condarc.

Выберите веб-сервер и поместите туда файлы, указанные в публичном репозитории (выше), с идентичной структурой каталогов (но вам не нужна часть /pkgs/free/). Используйте файл репозитория (например.http://repo.continuum.io/pkgs/free/linux-64/repodata.json) чтобы обнаружить все файлы, ПОЛУЧИТЕ их и поместите на свой внутренний веб-сервер.

Затем создайте файл .condarc сэтот шаблон, предоставляя ваш внутренний веб-сервер, например:

channels:
  - http://your.web.server/

Это сообщает conda о необходимости загрузки пакетов из вашего локального репозитория, а не из публичного репозитория Continuum.

После того, как вы это сделаете, запуск команды conda install anacondaзагрузит последнюю версию платформы Anaconda из вашего внутреннего репозитория. Я сделал все вышеперечисленное и могу подтвердить, что все работает без проблем. Одно предостережение: убедитесь, что вы зеркалируете весь репозиторий — не пытайтесь оптимизировать пакеты, которые вы включаете!

Связанный контент