С последней версией django-компрессора 2.3 я получаю сообщение об ошибке импорта
File ".../python3.8/site-packages/compressor/templatetags/compress.py", line 3, in <module>
from django.utils import six
ImportError: cannot import name 'six' from 'django.utils' (.../python3.8/site-packages/django/utils/__init__.py)
Похоже, это было исправлено в https://github.com/django-compressor/django-compressor/commit/dabe46e092d3bfba139d6a1e018980f249d9d95c#diff -ac8de32c7b59ab69b2ac7137529224f0, но после коммита нет никаких релизов. С удалением django.utils.six
в Django 3.0 похоже, что django-Compressor не будет совместим с Django 3.0 до тех пор, пока не будет вырезана новая версия для django-compress.
См. Также # 940.
Выполняя некоторые проверки работоспособности двух приложений django, которыми я владею, я не вижу никаких проблем с текущей версией django_compressor.
(Для всех, кто сталкивается с этой проблемой, вы можете добавить -e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor
в свой файл requirements.txt, чтобы установить текущий главный коммит компрессора непосредственно из github)
Огромное спасибо.
(Для всех, кто видит эту проблему, вы можете добавить
-e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor
в свой файл requirements.txt, чтобы установить текущий главный коммит компрессора непосредственно из github)
Я пытался
$ pip install -e git://github.com/django-compressor/django-compressor.git@a5bfd775450428e1a261b88e1e5424bfb4dde081#egg=django_compressor
и хороший результат.
$ ./manage.py test monitor
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
........
...
.
----------------------------------------------------------------------
Ran 10 tests in 5.034s
OK
Destroying test database for alias 'default'...
Я постараюсь найти время сделать релиз в ближайшее время. Если вы хотите помочь, всегда приветствуется тестирование ветки develop
в реальных средах.
Я запускаю ветку разработки ( @ a5bfd77545 ) с Django 3.0 в производстве со следующей конфигурацией, без проблем :)
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_MTIME_DELAY = 0
COMPRESS_CSS_FILTERS = [
'compressor.filters.css_default.CssAbsoluteFilter',
'compressor.filters.cssmin.CSSCompressorFilter'
]
COMPRESS_CSS_HASHING_METHOD = None
COMPRESS_JS_FILTERS = [
'compressor.filters.jsmin.JSMinFilter',
]
Это на heroku с Gunicorn в качестве сервера, uvicorn в качестве asgi worker, каналов в качестве маршрутизатора и whitenoise для обслуживания статических файлов.
Локальный запуск (такая же настройка, кроме heroku) с онлайн-сжатием также работает нормально.
Следующие пакеты устанавливаю через pip.
Но установить django_compressor не удалось, т.к. установлено шесть 1.13.0.
Пожалуйста, измените install_requires
.
install_requires=[
.....
'six == 1.12.0',
],
Я только что протестировал текущую ветку develop
django_compressor с помощью Weblate, и все тесты прошли. Есть ли у вас планы на выпуск?
Есть PR для создания нового релиза в # 964, который ожидает на # 967.
setup.py
django-компрессора имеет следующее требование:
'django-appconf >= 1.0'
django-appconf 1.0.3 отлично работает. И если я установлю django-компрессор в пустой virtualenv, будет установлена именно эта версия.
django-appconf 1.0.2 не работает с Django 3: он пытается импортировать django.utils.six. Когда я обновляю django-компрессор и уже установил django-appconf == 1.0.2, версия 1.0.2 удовлетворяет требованию "> = 1.0". Так что в итоге у меня сломалась установка.
Я думаю, что требование django-appconf в setup.py
должно быть ужесточено.
Я создал # 978 на основе комментария выше. # 964 можно объединить после # 978
https://pypi.org/project/django-compressor/2.4/ был выпущен. Надеюсь, это сработает , и огромное спасибо за все ваши усилия,
@diox не могли бы вы добавить тег git 2.4?
Выполнено.
Отлично, спасибо за выпуск!
Новый выпуск пока не отображается на https://django-compressor.readthedocs.io - было бы неплохо обновить его.
ммм Я думаю, это потому, что я сначала забыл пометить теги, поэтому он еще не обнаружил 2.4. Не уверен, что с этим можно сделать - возможно, это само исправится, как только мы зафиксируем больше вещей.
Я перестроил версию stable
в readthedocs, что привело к новой сборке 2.4, но stable
прежнему оставался на уровне 2.3. это было немного похоже на https://github.com/readthedocs/readthedocs.org/pull/3913 , и очистка среды помогла, поэтому я думаю, что сейчас все в порядке. спасибо за отчет @ cuu508!
@intgr сообщил, что версия latest
также не была перестроена. Я проверил, и, похоже, проблема была в другом, в нашем репо все еще были старые интеграции с github, которые год назад были заменены веб-хуками . страница latest
readthedocs действительно не обновлялась автоматически с тех пор. Я добавил веб-перехватчик, так что он снова должен работать автоматически в будущем. спасибо @intgr!
и это действительно работает, я просто нажал https://github.com/django-compressor/django-compressor/commit/bfd440feef72ec5a2ec68ed632c26c154cc9b92e, и документы были восстановлены.
Самый полезный комментарий
https://pypi.org/project/django-compressor/2.4/ был выпущен. Надеюсь, это сработает , и огромное спасибо за все ваши усилия,