Python 卡米洛特罐头';不要创建新项目

Python 卡米洛特罐头';不要创建新项目,python,sqlalchemy,Python,Sqlalchemy,我试图在Ubuntu12.04上安装并运行框架Camelot。但从错误来看,问题似乎在于炼金术。我已安装了camelot,其中包括: pip安装camelot,安装时没有任何问题。我已尝试升级sqlalchemy和camelot,但它会引发异常,在我运行时无法工作: python-m camelot.bin.camelot\u admin 一些版本: In [1]: import camelot In [2]: camelot.__version__ Out[2]: '12.06.29' I

我试图在Ubuntu12.04上安装并运行框架Camelot。但从错误来看,问题似乎在于炼金术。我已安装了camelot,其中包括:

pip安装camelot
,安装时没有任何问题。我已尝试升级sqlalchemy和camelot,但它会引发异常,在我运行时无法工作:

python-m camelot.bin.camelot\u admin

一些版本:

In [1]: import camelot

In [2]: camelot.__version__
Out[2]: '12.06.29'

In [3]: import sqlalchemy

In [4]: sqlalchemy.__version__
Out[4]: '0.8.0b2'
这是回溯:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/dist-packages/camelot/bin/camelot_admin.py", line 263, in <module>
    main()
  File "/usr/local/lib/python2.7/dist-packages/camelot/bin/camelot_admin.py", line 255, in main
    meta()
  File "/usr/local/lib/python2.7/dist-packages/camelot/bin/camelot_admin.py", line 243, in meta
    from camelot.bin.meta import launch_meta_camelot
  File "/usr/local/lib/python2.7/dist-packages/camelot/bin/meta.py", line 34, in <module>
    from camelot.admin.application_admin import ApplicationAdmin
  File "/usr/local/lib/python2.7/dist-packages/camelot/admin/application_admin.py", line 34, in <module>
    from camelot.admin.action import application_action, form_action, list_action
  File "/usr/local/lib/python2.7/dist-packages/camelot/admin/action/__init__.py", line 25, in <module>
    from application_action import ( ApplicationActionGuiContext,
  File "/usr/local/lib/python2.7/dist-packages/camelot/admin/action/application_action.py", line 31, in <module>
    from camelot.core.orm import Session
  File "/usr/local/lib/python2.7/dist-packages/camelot/core/orm.py", line 48, in <module>
    from sqlalchemy.ext.declarative import ( declarative_base, 
ImportError: cannot import name _declarative_constructor
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/runpy.py”,第162行,在运行模块中作为主模块
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“/usr/lib/python2.7/runpy.py”,第72行,在运行代码中
run_globals中的exec代码
文件“/usr/local/lib/python2.7/dist packages/camelot/bin/camelot_admin.py”,第263行,在
main()
文件“/usr/local/lib/python2.7/dist packages/camelot/bin/camelot_admin.py”,第255行,在main中
元()
文件“/usr/local/lib/python2.7/dist packages/camelot/bin/camelot_admin.py”,第243行,在meta中
从camelot.bin.meta导入启动\u meta\u camelot
文件“/usr/local/lib/python2.7/dist-packages/camelot/bin/meta.py”,第34行,在
从camelot.admin.application\u admin导入ApplicationAdmin
文件“/usr/local/lib/python2.7/dist packages/camelot/admin/application_admin.py”,第34行,在
从camelot.admin.action导入应用程序操作、表单操作、列表操作
文件“/usr/local/lib/python2.7/dist-packages/camelot/admin/action/_u-init___;.py”,第25行,在
从应用程序操作导入(ApplicationActionGuiContext,
文件“/usr/local/lib/python2.7/dist packages/camelot/admin/action/application_action.py”,第31行,在
从camelot.core.orm导入会话
文件“/usr/local/lib/python2.7/dist-packages/camelot/core/orm.py”,第48行,在
从sqlalchemy.ext.declarative import(声明性_base,
ImportError:无法导入名称\u声明性\u构造函数

我将sqlalchemy从0.8降级到0.7.8,并清理了一些以前安装的文件。现在它工作得很好。

对于未来的搜索者:显然是声明性的构造函数(可能还有更多)在0.7.8和0.8之间的某个时间从sqlalchemy.ext.declarative移动到sqlalchemy.ext.declarative.api,因此您只需要修改导入行。