无法从命令行导入ZopeTransactionExtension

问题描述 投票:2回答:2

我有一个金字塔应用程序,并且有此行

from zope.sqlalchemy import ZopeTransactionExtension

它没有任何问题

但是如果我在命令行中尝试同样的操作,我会得到

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named sqlalchemy

from zope.sqlalchemy.datamanager import ZopeTransactionExtension
ImportError: No module named sqlalchemy.datamanager

我不太确定为什么会这样。该文档具有same line,并且似乎至少对它们有效

sqlalchemy pyramid zope
2个回答
3
投票

2
投票

为了使情况更清楚,我们将ZopeTransactionExtension类重命名为到ZopeTransactionEvents。使用“注册”版本的现有代码保持兼容。

[1.2版中的https://pypi.org/project/zope.sqlalchemy/

解决方案是在实例化DBSession时使用register

from zope.sqlalchemy import register DBSession = scoped_session(sessionmaker(autoflush=False)) register(DBSession)

根据https://github.com/zopefoundation/zope.sqlalchemy/issues/37

或将ZopeTransactionExtension重命名为ZopeTransactionEvents
© www.soinside.com 2019 - 2024. All rights reserved.