Как мне создать локальный сервер обновлений для 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/ part). Используйте файл репозитория (например, http://repo.continuum.io/pkgs/free/linux-64/repodata.json), чтобы найти все файлы, ПОЛУЧИТЬ их и поместить на свой внутренний веб-сервер.

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

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

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

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

Другие вопросы по тегам