python упаковка: Создание кроссплатформенных версий пакетов с использованием conda и Travis CI - PullRequest
1 голос
/ 03 августа 2020

Это одна из частей конвейера сборки пакетов, которая меня до сих пор сбивает с толку. Итак, я создаю пакет, используя conda для conda-forge. Теперь я хочу собрать пакет для разных платформ, чтобы он работал на Windows, Linux и MacOS. Это всего лишь пакет с исходным кодом python, поэтому не нужно ничего компилировать.

Итак, я знаю, что в инструменте conda build я могу указать conda_build_config.yaml, и это укажет на python версии использовать. Итак, я могу запустить conda build ., и он будет использовать матрицу из conda_build_config.yaml и создавать разные версии для загрузки на мой канал anaconda.org.

Но другая вещь - Travis CI и его возможности для создания сборок пакетов . Похоже, что Трэвис также может создавать отдельные сборки для разных версий пакета. И в файле Travis .travis.yml я также указываю разные python версии и платформы.

Итак, моя цель снова - просто протестировать пакет на каждой версии платформы / python, а затем создать сборки для каждого варианта. Каково правильное разделение труда между какими conda_build_config.yaml и .travis.yml? Это означает, что я мог бы просто удалить версии python из conda_build_config.yaml и указать их в файле .travis.yml, и получить все версии. Или кажется, что указание версий python и платформ в обоих файлах просто сгенерирует каждый вариант дважды? В этом и заключается мое замешательство.

Итак, каков наиболее эффективный способ выполнить эти типы исходных сборок для всех платформ и python версий. Спасибо.

...