Ran*_*dra 4 sqlalchemy zope pyramid
我有一个金字塔应用程序,它有这条线
from zope.sqlalchemy import ZopeTransactionExtension
Run Code Online (Sandbox Code Playgroud)
它可以正常工作
但是,如果我用命令行尝试相同的方法,我会得到
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named sqlalchemy
Run Code Online (Sandbox Code Playgroud)
和
from zope.sqlalchemy.datamanager import ZopeTransactionExtension
ImportError: No module named sqlalchemy.datamanager
Run Code Online (Sandbox Code Playgroud)
我不确定为什么会这样。文档有相同的行,似乎至少对他们有用
Joa*_*lon 10
我最近在金字塔应用程序和终端中都遇到了同样的错误。在这种情况下,重新安装不起作用。显然,zope.sqlalchemy 项目在 2019 年 10 月 17 日发布的 1.2 版中将 ZopeTransactionExtension 重命名为 ZopeTransactionEvents。
为了让事情更清楚,我们将 ZopeTransactionExtension 类重命名为 ZopeTransactionEvents。使用“注册”版本的现有代码保持兼容。
https://pypi.org/project/zope.sqlalchemy/在 Changes 1.2 下
要解决此问题,请register在实例化 DBSession 时使用
from zope.sqlalchemy import register
DBSession = scoped_session(sessionmaker(autoflush=False))
register(DBSession)
Run Code Online (Sandbox Code Playgroud)
根据https://github.com/zopefoundation/zope.sqlalchemy/issues/37
| 归档时间: |
|
| 查看次数: |
2903 次 |
| 最近记录: |