Кэширование pypi в ArtifactoryPython

Программы на Python
Ответить
Anonymous
 Кэширование pypi в Artifactory

Сообщение Anonymous »

Мы рассматриваем возможность использования Artifactory в качестве прокси-сервера для pypi.org, чтобы мы могли вносить пакеты в белый список для наших разработчиков и предотвращать такие вещи, как опечатки.
Я был приятно удивлен, когда первоначальная настройка кэша репозитория (как описано в https://jfrog.com/help/r/jfrog-artifact ... positories) была выполнена примерно за две минуты. Однако включение шаблонов, похоже, работает не так, как мы думали - по крайней мере, для пакетов Python.
  • Единственной «документацией» для шаблонов является всплывающая подсказка: Список шаблонов артефактов, которые следует включать при оценке запросов артефактов в форме x/y/**/z/*. При его использовании обслуживаются только артефакты, соответствующие одному из шаблонов включения. По умолчанию включены все артефакты (). Кажется, это синтаксис Ant, но даже информации об этом в Интернете мало.
  • Пустые шаблоны включения и исключения работают должным образом, все пакеты можно установить через кеш.
  • Добавление **/numpy* к шаблонам включения работает так, как ожидалось. Можно установить только numpy; другие пакеты, такие как pandas, не могут быть установлены.
  • Однако внесение в белый список **/numpy* также позволяет использовать пакеты с похожими именами, такие как numpyx, numpyp и т. д. Это не совсем идея внесения в белый список.
  • Мы не смогли найти выражения, которые позволили бы точно составить белый список (даже при запуске pip install --verbose numpy, чтобы просмотреть все URL-адреса, которые он пытается получить).
  • Добавление любого или всех следующих шаблонов не позволит установить numpy.

    Код: Выделить всё

    **/numpy*/**
  • Код: Выделить всё

    **/numpy/*
  • Код: Выделить всё

    **/numpy/**
  • Код: Выделить всё

    **/numpy/
  • Код: Выделить всё

    **/numpy
  • Код: Выделить всё

    **/numpy-*
  • Код: Выделить всё

    **/numpy-
[*]Есть и другие странные симптомы:
  • Код: Выделить всё

    **/Cython*
    не позволяет установить Cython, а **/cython* позволяет. Похоже, работают только строчные буквы (хорошо, возможно, это потому, что pip install показывает «красивое» имя, но URL-адрес написан строчными буквами)
  • Код: Выделить всё

    **/pyproject-metadata*
    не позволяет устанавливать метаданные pyproject, но **/pyproject* позволяет. Похоже, что дефисы в именах пакетов тоже нарушают шаблоны.
[*]Мы надеялись закрепить версию, но не похоже, что это будет возможно. Кроме того, для списков шаблонов включения/исключения нет функции экспорта/импорта, и поддерживать их через веб-интерфейс, вероятно, скоро станет сложно.


У меня сложилось впечатление, что Artifactory — это решение корпоративного уровня для подобных сценариев, но оно выглядит неэффективным, чтобы быть полезным.
Я что-то упускаю?
Есть ли другие шаблоны?
Есть ли плагины, которые работают лучше?
Нужно ли нам перейти на совершенно другое решение?
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/797 ... rtifactory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»