Joe*_*Joe 1 python flask python-3.x
看起来有一个弃用。那是怎么决定的?Python 3 和 Python 2 之间有区别吗?
旧版本flask.ext 已在2014 年创建的问题 #1135中弃用。实际弃用通知于 2016 年开启。弃用背后的原因是:
新贡献者的一些介绍性信息:
Flask 曾经将flaskext 作为扩展的命名空间,因此它们可以作为flaskext.foo 导入。这并不奏效,因此引入了新形式flask_foo。flask.ext.foo 是一个兼容层,将尝试导入这两种变体。见http://flask.pocoo.org/docs/0.10/extensions/
flask.ext.foo 很难维护,因为现在所有扩展都切换到新的包命名方案,不再值得。我们想在 1.0 中弃用它,所以我们需要某种工具来帮助用户在他们的应用程序中重写所有旧的导入。
人们可以编写一个类似于这个野兽的 Python 脚本。这将完成工作,但正如其文档字符串所说,这是一个可怕的黑客。
lib2to3 被证明对于编写更大的迁移工具很有用,但使用它并不简单。
- https://github.com/mitsuhiko/python-modernize/是一个基于它的项目,在我看来,这是最容易窃取的项目。
- 我无法找到对此有用的完整教程。大多数似乎都专注于移植到 Python 3,这意味着在用户的代码库上运行默认的 2to3 修复程序(我们绝对不想要)
- 我认为,必须阅读 2to3 和 lib2to3 的源代码才能理解。这可以通过在 Google 中输入 libraryname hg.python.org 来实现,其中 libraryname 是 2to3 或 lib2to3。
- 在 Python 中进行源代码操作的当前状态很糟糕,我希望看到一个包含 lib2to3 并提供更简洁 API 的库。
旧的 .ext 是一个兼容层,flaskext用于在等待flask_标准化的同时支持旧模块。
这将flask.命名空间与每个模块的命名空间分开,因为该模块现在完全存在于它自己的模块 ( flask_module) 中,而不是被加载到 Flask 中所有扩展的通用命名空间中。更清楚的是,该模块并未捆绑为 Flask 的一部分。
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |