Есть ли какие-либо ошибки, о которых я должен знать при запуске сценариев Python из установки rpm?
Вот суть проблемы. Мы создали собственный установщик RPM для развертывания нашего приложения Django. В рамках процесса установки я хочу запустить команду управления Django, которая собирает все статические файлы и копирует их в предопределенное место. Вот как это выглядит при запуске вручную из командной строки:
$ python2.6 manage.py collectstatic --noinput
/usr/lib/python2.6/site-packages/reversion/__init__.py:31: UserWarning: django-reversion 1.5 is intended for use with django 1.3.0. You are running django 1.3.1, so some features, such as admin integration, may not work. Please see https://github.com/etianen/django-reversion/wiki/Compatible-Django-Versions
"django_version": format_version(django.VERSION[:3]),
Copying '/usr/lib/python2.6/site-packages/django/contrib/admin/media/img/gis/move_vertex_on.png'
Copying '/usr/lib/python2.6/site-packages/django/contrib/admin/media/img/gis/move_vertex_off.png'
Copying '/usr/lib/python2.6/site-packages/django/contrib/admin/media/img/admin/icon_clock.gif'
Copying '/usr/lib/python2.6/site-packages/django/contrib/admin/media/img/admin/arrow-down.gif'
Copying '/usr/lib/python2.6/site-packages/django/contrib/admin/media/img/admin/inline-restore.png'
...
Итак, чтобы запустить это как часть установки RPM, я добавил следующее в файл спецификации:
%post
# collect static files
pushd .
cd %{installpath}/src/app/
%{__python} manage.py collectstatic --noinput --settings=settings_prod
popd
Проблема в том, что когда я запускаю это, я вижу запуск задачи:
sudo rpm -U app-0.2.8.18889M-1.x86_64.rpm -vv
...
+ pushd .
/ /
+ cd /opt/qpsi/app/src/app/
+ /usr/bin/python2.6 manage.py collectstatic --noinput --settings=settings_prod
/usr/lib/python2.6/site-packages/reversion/__init__.py:31: UserWarning: django-reversion 1.5 is intended for use with django 1.3.0. You are running django 1.3.1, so some features, such as admin integration, may not work. Please see https://github.com/etianen/django-reversion/wiki/Compatible-Django-Versions
"django_version": format_version(django.VERSION[:3]),
There is no South database module 'south.db.oracle' for your database. Please either choose a supported database, check for SOUTH_DATABASE_ADAPTER[S] settings, or remove South from INSTALLED_APPS.
+ popd
Но в выходных данных нет ожидаемого списка копируемых файлов, и статический каталог фактически не заполняется.
Итак, вопросы:
- Есть ли что-то особенное в запуске скриптов Python из RPM, о чем мне нужно знать?
- Я использую параметр -vv команды rpm, чтобы получить подробный вывод из процесса установки, но есть ли способ дальнейшей отладки того, что происходит внутри rpm после запуска скрипта python.
Спасибо д.