Создание папки автономного пакета для Anaconda

1

Я обновил пакеты anaconda для программы python, над которой я работал. Теперь я хочу установить эти новые пакеты на компьютеры, находящиеся в автономном режиме.

Я создал список установленных пакетов, используя следующую команду:

>conda list -e > packagelist.txt

Я хочу иметь возможность обновлять пакеты на автономных компьютерах, используя что-то вроде этого:

>conda install --file (location of 'packagelist') --channel file://(location of the folder where the packages are located)

Поэтому мой вопрос: как мне легко сделать папку "pkgs", которая содержит все файлы пакетов, указанные в моем списке пакетов?

Можно ли просто использовать всю папку "pkgs", которая находится в моем текущем месте установки Anaconda? Или пакеты в моем списке пакетов не обязательно установлены внутри?

Я прошу прощения, если вопрос "nooby", я честно не знаю, как это сделать. Ждем любой помощи.

Теги:
anaconda

1 ответ

3
Лучший ответ

Если кто-то еще борется с этим, это шаги, которые я сделал:

  1. Создайте файл, содержащий имена всех пакетов, установленных в текущей среде. Один из способов сделать это (уже показано в вопросе) заключается в следующем: введите командную строку (запустите как admin):

    conda list -e > packagelist.txt

  2. Перейдите в папку "pkgs", которая находится в папке установки Anaconda. Скопируйте все zipped-пакеты там (только те, у которых есть расширение файла.tar.bz2), и вставьте их в другую папку где-нибудь, позвоните по имени "pkgs2".

  3. Сравните пакеты в текстовом файле "packagelist", который вы создали, с пакетами внутри созданной вами новой папки "pkgs2". Удалите старые версии пакетов. Например, в вашей папке "pkgs2" могут быть две разные версии numpy. Удалите устаревший, если это необходимо.

  4. Создавайте файлы индексов и реподатов. Я не совсем понимаю, почему. Важным является файл "repodata.json.bz2". Вы можете создать это, введя в командной строке следующее (очевидно, ваш "pkgs2" может быть расположен где-то в другом месте, поэтому настройте соответственно):

    conda index C:\Users\myName\Desktop\pkgs2

    Если вы получите следующую ошибку:

    Indexing a copy of the Anaconda conda package channel is neither necessary nor supported. If you which to add your own packages, you can do so by adding them to a separate channel.

    то вам нужно перейти в папку "pkgs2" и удалить пакет "_license". Я не знаю, почему он работает, но он делает (видел решение ошибки из поиска Google).

    Вы должны увидеть, что после завершения индексирования в папку "pkgs2" было добавлено 3 новых файла. Их называют ".index.json", "repodata.json" и "repodata.json.bz2".

  5. Теперь вы можете перенести папку "pkgs2" и "packagelist.txt" на другой компьютер. Вы также можете включить установочный файл для установки anaconda, если компьютер еще не установлен. Чтобы установить новые/обновленные пакеты в автономном режиме, введите в командной строке на автономном компьютере, на котором установлена anaconda, следующее: еще раз, не забудьте изменить имена файлов и местоположения соответственно:

    conda install --file C:\Users\myName\Desktop\OfflineInstall\packagelist.txt --channel file://C:\Users\myName\Desktop\OfflineInstall\pkgs2

  6. Если все пойдет хорошо, вы должны увидеть что-то вроде этого в командной строке: Изображение 174551. И как только новые пакеты будут установлены, все готово!

Тем не менее, вы можете столкнуться со следующей проблемой на этапе 5 (это всего лишь пример):

UnsatisfiableError: The following specifications were found to be in conflict:
  - matplotlib 1.4.3 np19py27_1 -> pyparsing 2.0.3
  - pyparsing 2.2.0 py27_0
Use "conda info <package>" to see the dependencies for each package.

Корректируйте свои пакеты соответственно, удаляя конфликтующие, которые вам не нужны, или обновляйте их. Повторите шаг 4, и вы должны быть в порядке.

Надеюсь, это поможет кому-то!

  • 0
    'conda index C: \ Users \ myName \ Desktop \ pkgs2', если при этом генерируется пустой index.html, переместите ваши пакеты в одну папку глубже, скажем, в папку pkgs2 с именем win-64. а затем: 'cd C: \ Users \ myName \ Desktop \ pkgs2' 'индекс conda. \'
  • 0
    Я использую тот же подход, и мне удается создать индекс, но если попытаться установить его, покажем, что некоторые пакеты отсутствуют - хотя я вижу эти пакеты в папке, куда я скопировал все файлы tar.bz2, - я также ссылался на анаконду ссылка Я пытаюсь это с Linux-64-версии Anaconda.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню