rpm 설치 프로그램에서 Python 스크립트를 실행할 때주의해야 할 사항이 있습니까?rpm 설치 프로세스의 일부로 Python 스크립트를 실행 중
다음은 문제의 요지입니다. 우리는 Django 응용 프로그램을 배포하기위한 사용자 정의 RPM 설치 프로그램을 만들었습니다. 설치 프로세스의 일부로 모든 정적 파일을 수집하여 미리 정의 된 위치에 복사하는 Django 관리 명령을 실행하려고합니다.
%post
# collect static files
pushd .
cd %{installpath}/src/app/
%{__python} manage.py collectstatic --noinput --settings=settings_prod
popd
문제가 있다는 것입니다 :
$ 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의 일부 나 추가 설치로이 작업을 실행하려면 : 다음은이 명령 줄에서 수동으로 실행할 때의 모습입니다
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
을하지만 실제로 채워되지 않는 출력과 정적 디렉토리에 복사되는 파일의 어떤 예상 목록이 없습니다 :이 프로그램을 실행할 때, 나는 작업을 시작했다되는 것을 볼 수 있습니다.
그래서 질문은 : 나는 자세한 출력을 얻을 수있는 rpm 명령의 -vv 옵션을 사용하고- 있는가 파이썬 스크립트가 시작되면 rpm 내부에서 진행되는 작업을 디버깅 할 수있는 방법이 있습니다.
감사 D.
나는 Django 1.3의 새로운 정적 처리 방법을 이용하고 있는데, 이것이 필연적 인 단계라고 생각하지 않습니다. 수동으로 collectstatic을 실행할 때 관리자 미디어에 문제가 없습니다. –