无法从sqlalchemy.ext.declarative导入*

0 投票
1 回答
3666 浏览
提问于 2025-04-17 14:10

我尝试执行 from sqlalchemy.ext.declarative import * 时失败了。我试过用 pip uninstall sqlalchemy 卸载这个包,然后再重新安装。我还试着从Ubuntu的仓库中删除这个版本(也就是 python-sqlalchemy 包),但发现并没有安装。我去了一个干净的目录,尝试同样的命令,结果还是不行。这种情况在sqlalchemy的0.7.8和0.7.9版本上都出现过。

这是错误追踪信息:

In [1]: from sqlalchemy.ext.declarative import *
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/home/nine/slask/<ipython-input-1-7f210e4ec48b> in <module>()
----> 1 from sqlalchemy.ext.declarative import *

/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/__init__.py in <module>()
   1252 """
   1253
-> 1254 from .api import declarative_base, synonym_for, comparable_using, \
   1255     instrument_declarative, ConcreteBase, AbstractConcreteBase, \
   1256     DeclarativeMeta, DeferredReflection, has_inherited_table,\

/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/api.py in <module>()
    101
    102
--> 103 class declared_attr(interfaces._MappedAttribute, property):
    104     """Mark a class-level method as representing the definition of
    105     a mapped property or special declarative member name.

AttributeError: 'module' object has no attribute '_MappedAttribute'

顺便说一下,我的系统是Ubuntu 12.04。

1 个回答

1

现在它可以正常工作了。我做了以下几步:

  • 我用pip卸载了sqla。
  • 手动删除了剩下的文件(rm -fr /usr/local/lib/python2.7/dist-packages/sqlalchemy)。
  • 然后用pip重新安装了sqla,现在它可以正常使用了。

撰写回答