使用当前最新的 django-compressor 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 -ac8de32c7b59ab69b2ac7137529224f. 在 Django 3.0 中删除django.utils.six
后,看起来 django-compressor 将与 Django 3.0 不兼容,直到 django-compressor 的新版本被删除。
另见#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
分支总是值得的。
我正在使用 Django 3.0 在生产中使用以下配置运行开发分支( @a5bfd77545 ),没问题:)
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,通道作为路由器和白噪声用于提供静态文件。
使用在线压缩在本地运行(除heroku 之外的相同设置)也可以正常工作。
我通过 pip 安装下一个软件包。
但是安装django_compressor失败,因为安装了6个1.13.0。
请更改install_requires
。
install_requires=[
.....
'six == 1.12.0',
],
我刚刚用 Weblate 测试了 django_compressor 的当前develop
分支,并且所有测试都通过了。 你有发布的计划吗?
#964 有 PR 创建新版本,正在等待#967
django-compressor 的setup.py
有这个要求:
'django-appconf >= 1.0'
django-appconf 1.0.3 工作正常。 如果我在一个空的 virtualenv 中安装 django-compressor,这就是安装的版本。
django-appconf 1.0.2 不适用于 Django 3:它尝试导入 django.utils.six。 当我升级 django-compressor 并且已经安装了 django-appconf==1.0.2 时,1.0.2 满足 ">= 1.0" 要求。 所以最后我有一个损坏的安装。
我认为setup.py
的 django-appconf 要求应该收紧。
我根据上面的评论创建了 #978。 #964 可以合并后#978
https://pypi.org/project/django-compressor/2.4/已经发布。 希望它有效,非常感谢您的所有努力, @albertyw !
@diox你能添加 2.4 git 标签吗?
完毕。
太棒了,感谢发布!
新版本尚未出现在https://django-compressor.readthedocs.io 上- 也很高兴更新它。
嗯我想是因为我一开始忘记标记了,所以还没有检测到2.4。 不确定可以对此做些什么 - 也许一旦我们提交更多内容,它就会自行修复。
我在 readthedocs 中重建了stable
版本,这导致了一个新的 2.4 版本,但stable
仍然是 2.3。 看起来有点像https://github.com/readthedocs/readthedocs.org/pull/3913 ,擦拭环境有帮助,所以我认为现在一切都很好。 感谢@cuu508 的报告!
@intgr报告latest
版本也没有重建。 我查了一下,似乎问题完全是其他问题,我们的仓库仍然有旧的 github 集成,一年前已被 webhooks 取代。 latest
readthedocs 页面从那时起确实没有自动更新。 我添加了一个 webhook,所以这应该会在将来再次自动工作。 谢谢@intgr!
最有用的评论
https://pypi.org/project/django-compressor/2.4/已经发布。 希望它有效,非常感谢您的所有努力, @albertyw !