我有一个脚本,我写了一个Windows框上的Python 2.7。 我已经在几台不同的机器上工作,所以我知道它“移动”了。
我现在正在build立一个Ubuntu的盒子(v12.04)。
在Ubuntu下相同的代码失败:
instance = session.query(formats_table). filter(formats_table.c.formatid==FormatID,formats_table.c.puid==PUID,formats_table.c.formatversion==FormatVersion,formats_table.c.formatmimetype==FormatMIMEType).all()
在Windows中运行良好,并没有问题
python解释器:中断并继续
在Ubuntu上导入matplotlib
Python,Quickly和Glade,在TextView中显示stdout
Python / IPython的ImportError:没有模块命名的网站
如何知道python从命令行运行?
在Ubuntu中失败:
TypeError: <lamba>() takes exactly 2 arguments (5 given)
我能做些什么来找出发生了什么问题?
我假设这行被parsing为5个不同的参数,而不是两个(session.query)和(filter),这表明括号没有被正确parsing?
简单密码通过我的python脚本logging
使用python来自动化交互?
Python的os输出
我如何确定是否从crontab执行python脚本?
你有两个不同版本的sqlAlchemy。
filter(*criterion)
例如: session.query(MyClass).filter(MyClass.name == 'some name')
AND (0.7.5新增)将多个标准连接在一起:
session.query(MyClass).filter(MyClass.name == 'some name',MyClass.id > 5)
请注意,在0.7.5之前,在单个filter调用中不能有多个条件 – 您必须链接多个filter调用才能获得相同的效果。 就你而言,这看起来像:
instance = session.query(formats_table). filter(formats_table.c.formatid==FormatID). filter(formats_table.c.puid==PUID). filter(formats_table.c.formatversion==FormatVersion). filter(formats_table.c.formatmimetype==FormatMIMEType)
因此,被引用的“参数”是传递给filter的关键字参数 – 在您的Ubuntu版本中随附的sqlAlchemy版本中只能有一个,并提供四个参数。 你看不到的另一个参数是实例对象(通常称为self ),在调用实例方法时会自动传递。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。