2014-11-04 3 views
3

Я быстро осмотрелся, но из-за терминологии, как зависимости и пакеты, используемые по-разному, довольно сложно определить ответ.Автоматическая установка зависимостей Python с помощью CMake

Я создаю источник на смешанном языке (Fortran, некоторые C и Python), а Fortran вызывает скрипт Python, который зависит от пакета Pythonв PyPI. Как правило, у меня только что установлен networkx, поэтому для меня это не проблема при перестройке.

Однако, для распределения, я хочу, лучший путь к:

  • Установите pip или эквивалент, если он не установлен.
  • Возможно установить virtualenv и создать виртуальную среду, если это необходимо.
  • Загрузите и установите networkx с использованием опции --user с pip.

Есть ли стандартный способ? Или я должен просто использовать зависимости CMake с пользовательскими командами, которые устанавливают pip и т. Д.?

ответ

0

все зависит. для «ручной» установки вы определенно должны определить, установлены ли все необходимые (для сборки) инструменты и выдают ошибку, если они этого не делают. затем используйте execute_process() для запуска pip и все, что вы хотите. с другой стороны, если вы собираетесь произвести реальный пакет для некоторой конкретной Linux, вы просто упаковать ваши файлы и требуют (через соответствующий синтаксис определенного формата пакет как *.rpm или *.deb, что ваш пакет зависит от других пакетов так что вы можете быть уверены, что они будут установлены w/(или даже раньше) ваш пакет.