2015-03-21 4 views
0

Поскольку RHEL поставляется с python 2.6, я использую шеф-повар для установки python 2.7 под/usr/local/bin (довольно стандартный материал).Установка RPM приложения Django с помощью python 2.7 на RHEL

До сих пор мы развертывали приложение django с тканью и удаленным вызовом git pull. Я пытаюсь установить его через RPM, который немного чист IMO.

Я собрал скрипт setup.py и соответствующий MANIFEST.in для объединения пакетов, html и статических файлов. Я использую python setup.py bdist_rpm, и все хорошо до сих пор.

После проверки файла спецификации генерируемого под <project_root>/build/SPECS/App.spec, директивой установки имеет

%install 
python setup.py install --single-version-externally-managed -O1 - root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 

Есть ли способ, что я могу изменить файл setup.py так, что SPEC порождается как

%install 
/usr/local/bin/python2.7 setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES 

ответ

0

Я нашел ответ, посмотрев репо на Django. В нем есть файл setup.cfg

[bdist_rpm] 
doc_files = docs extras AUTHORS INSTALL LICENSE README.rst 
install-script = scripts/rpm-install.sh 

В rpm-install.sh сценарии есть:

# This is what dist.py normally does. 
%{__python} setup.py install --root=${RPM_BUILD_ROOT} --record="INSTALLED_FILES" 

Так я заменил %{__python} с /usr/local/bin/python2.7 и это работает!