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