Har*_*ith 23 python pycharm flask python-2.7 flask-sqlalchemy
如果我在我的应用程序中使用以下格式,除PyCharms解析/自动完成功能外,一切正常:
from flask.ext.sqlalchemy import SQLAlchemy
Run Code Online (Sandbox Code Playgroud)
如果我在我的应用程序中使用以下格式,一切正常.但是,唉,这不是导入库的正确方法:
from flask_sqlalchemy import SQLAlchemy
Run Code Online (Sandbox Code Playgroud)
有没有办法让PyCharm正确解析第一个语法?
Mar*_*ers 39
该flask.ext命名空间是一个transistion命名空间,看到拓进口过渡部分的的瓶扩展开发文档:
有一段时间我们建议使用Flask扩展的命名空间包.这在实践中证明是有问题的,因为存在许多不同的竞争命名空间包系统并且pip将在不同系统之间自动切换,这给用户带来了很多问题.
和
Flask扩展应该敦促用户导入
flask.ext.foo而不是flask_foo或者flaskext_foo使扩展可以转换到新的包名而不影响用户.
因此,为了在版本之间进行转换,flask.ext添加了别名,这将在导入flask_[name]时自动尝试导入包flask.ext.[name].但这种转变现在没有实际意义; 你不会再找到仍然完全依赖的包裹flask.ext.
因此,使用实际的模块名称并使PyCharm自动完成模块内容是完全正确的.
你只有真正有使用flask.ext,如果你还在使用扩展的旧版本,并且需要是未来兼容.那个未来已经来了.
仅供参考.flask.ext不推荐使用,正确的方法是:
from flask_sqlalchemy import SQLAlchemy
Run Code Online (Sandbox Code Playgroud)
如果有人在谷歌上发现了这个问题.
| 归档时间: |
|
| 查看次数: |
9539 次 |
| 最近记录: |