无法从sqlalchemy.ext.declarative导入*
我尝试执行 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,现在它可以正常使用了。