Сборка rpm, содержащая скрипт pythons и зависимые модули python

Я хочу создать RPM, который будет содержать мои

  1. скрипт python
  2. модули, зависимые от Python.

Я хочу установить этот rpm в своей производственной среде, в которой нет сети, а также нельзя использовать / установить pip.

Добавление моего файла спецификации ниже. Он создает обороты, но когда я пытаюсь запустить, он просто упоминает

ошибка: Неудачные зависимости:

python-cassandra-driver is needed by stats-1.0-1.el7.centos.x86_64

ПРИМЕЧАНИЕ Я хочу, чтобы rpm содержал установку моих модулей python, а также мой скрипт python, чтобы я мог просто запустить свой скрипт на производстве с установкой любого модуля вручную.

SPEC

Name:           stats
Version:        1.0
Release:        1%{?dist}
Summary:        Summary of Customer stats

License:       ***
URL:           ***
Source0:        %{name}-%{version}.tar.gz

Requires: python-cassandra-driver

%description
Script that shows stats of customer on a particular pod

%prep
%setup -q

%build
%{__python} setup.py build

%install
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT

%files
%{python_sitelib}/*

%changelog

Нет, ты действительно этого не хочешь. Что вы действительно хотите, чтобы сохранить вашу спецификацию как есть, а затем создать rpm-пакет python-cassandra-driver (для этого вы можете использовать pyp2rpm).

msuchy 09.08.2018 11:47

Я пробовал, но сгенерированный файл спецификации дает мне много других зависимостей, о которых нужно позаботиться.

adit 10.08.2018 01:43

Если бы вы выбрали вариант «один об / мин со всем», вам бы также пришлось добавить туда эти зависимости.

msuchy 11.08.2018 16:27
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
3
511
0

Другие вопросы по теме