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