Я установил django-pipeline в своем приложении Django 1.4.1 под виртуальным окружением, но когда я запустить python manage.py collectstatic
, я получаю:
Traceback (most recent call last):
File "./manage.py", line 11, in <module>
execute_manager(settings)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/core/management/__init__.py", line 459, in execute_manager
utility.execute()
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 163, in handle_noargs
collected = self.collect()
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 119, in collect
dry_run=self.dry_run)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/storage.py", line 30, in post_process
packager.pack_stylesheets(package)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/packager.py", line 90, in pack_stylesheets
variant=package.variant, **kwargs)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/packager.py", line 100, in pack
content = compress(paths, **kwargs)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/compressors/__init__.py", line 76, in compress_css
css = getattr(compressor(verbose=self.verbose), 'compress_css')(css)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/compressors/yui.py", line 14, in compress_css
return self.compress_common(css, 'css', settings.PIPELINE_YUI_CSS_ARGUMENTS)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/compressors/yui.py", line 8, in compress_common
return self.execute_command(command, content)
File "/home/hg/VIRTUALENVS/movie/lib/python2.6/site-packages/pipeline/compressors/__init__.py", line 235, in execute_command
pipe.stdin.write(smart_str(content))
IOError: [Errno 32] Broken pipe
Мои настройки:
# static
STATIC_ROOT = join(REPOSITORY_ROOT, 'static_collected')
STATIC_URL = '/static/'
STATICFILES_DIRS = (join(REPOSITORY_ROOT, 'static'),)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
# pipeline (css/js compression)
STATICFILES_STORAGE = 'pipeline.storage.PipelineCachedStorage'
PIPELINE = True
PIPELINE_CSS = {
'base_style': {
'source_filenames': (
'css/style.css',
'css/effects.css',
'css/rs_style.css',
'css/jq/jquery-ui-movieplayer.css',
),
'output_filename': 'CACHE/css/style.css',
},
}
PIPELINE_JS = {
'base_scripts': {
'source_filenames': (
'js/jq/jquery.js',
'js/mv.core.js',
'js/toolbox/toolbox.core.js',
'js/swfobject.js',
'swf/jwplayer5.9.2156.js',
'js/jq/jquery-ui.custom.min.js',
'js/mongo_autocomplete.js',
'js/rs_script.js',
),
'output_filename': 'CACHE/js/scripts.js',
}
}
До добавления django-pipeline команда управления работала хорошо, она нашла все, поэтому это не проблема, связанная с поиском статических файлов или прав доступа к каталогу. Yuicompressor установлен глобально и находится в разделе /usr/local/bin/yuicompressor
, поэтому я не менял PIPELINE_YUI_BINARY
в своих настройках.
Любая подсказка? Благодарю вас!
python manage.py findstatic css/style.css
что-то возвращает? - person cyberdelia   schedule 31.08.2012/static/css/style.css
и фактический файл, который должен быть сжат в/static_collected/css/style.css
(static_collected
этоSTATIC_ROOT
). - person yliharma   schedule 31.08.2012