小编ACV*_*ACV的帖子

IPython笔记本中的Pyzmq错误

我正试图在Vista中运行IPython笔记本.我相信我使用easy_install 安装了所有必要的依赖项(在列出).IPython运行正常.但是当我尝试运行IPython笔记本时,一切都很好,但是一旦我尝试做任何事情,内核就会死掉.我收到以下令人困惑的错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\ipython-0.11-py2.7.egg\IPython\zmq\__init__.py", line 25, in <module>
    minimum_pyzmq_version, pyzmq_version))
ImportError: IPython.zmq requires pyzmq >= 2.1.4, but you have 2.1.11
Run Code Online (Sandbox Code Playgroud)

2.1.11> = 2.1.4所以我不确定问题是什么.2.1.11是pyzmq的最新版本(这里是项目页面).

[更新:谢谢@ThomasK.我已经在运行IPython 0.12,但我在IPython和pyzmg上运行了easy_install --upgrade并修复了它.

python ipython pyzmq

6
推荐指数
1
解决办法
5913
查看次数

Python类变量名称vs __name__

我试图理解分配Python类对象的变量与该类对象的__name__属性之间的关系.例如:

In [1]: class Foo(object):
   ...:     pass
   ...: 

In [2]: Foo.__name__ = 'Bar'

In [3]: Foo.__name__
Out[3]: 'Bar'

In [4]: Foo
Out[4]: __main__.Bar

In [5]: Bar
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-962d3beb4fd6> in <module>()
----> 1 Bar

NameError: name 'Bar' is not defined
Run Code Online (Sandbox Code Playgroud)

所以看起来我已经改变了__name__类的属性,但我不能用它来引用它.我知道这是一个有点普通,但可能有人解释之间的关系FooFoo.__name__

python class

6
推荐指数
1
解决办法
8839
查看次数

使用Integer的SQLAlchemy中出错:"object()不带参数"

我突然开始在我的Python SQLAlchemy应用程序中看到一个错误,我无法弄清楚导致它的原因.我的代码看起来像这样:

from sqlalchemy import create_engine
from sqlalchemy import Column
from sqlalchemy import ForeignKey
from sqlalchemy import Integer
from sqlalchemy import MetaData
from sqlalchemy.ext.declarative import declarative_base

def loadConnection(connection_string, echo=False):
    engine = create_engine(connection_string, echo=echo)
    Base = declarative_base(engine)
    Session = sessionmaker(bind=engine)
    session = Session()
    return session, Base

connection = yaml.load('connection.yaml')
session, Base = loadConnection(connection['connection'], connection['echo'])

class Foo(Base):
    __tablename__ = 'foo'
    id = Column(Integer(11), primary_key=True)
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,我收到以下错误:

Traceback (most recent call last):
  File "ephem/database_interface.py", line 52, in <module>
    class Foo(Base):
  File "ephem/database_interface.py", line 54, …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

5
推荐指数
1
解决办法
2314
查看次数

Flask-SQLAlchemy .like() 方法引发 NotImplementedError

我在使用方法构建 Flask-SQLAlchemy 查询时遇到问题,该like()方法应该使用 SQLLIKE语句构建查询。

根据 SQLAlchemy文档like可以在这样的列上调用该方法:

select([sometable]).where(sometable.c.column.like("%foobar%")) 
Run Code Online (Sandbox Code Playgroud)

我有一个 ModelClass 子类化 Flask-SQLAlchemydb.Model类。定义如下:

class ModelClass(db.Model):
    # Some other columns ... 
    field1 = db.Column(db.Integer(), db.ForeignKey('my_other_class.id'))
    rel1 = db.relationship("MyOtherClass", foreign_keys=[field1])
Run Code Online (Sandbox Code Playgroud)

然后我有一个循环,我正在动态构建过滤器。在循环之外,我使用这些过滤器来过滤查询。我的循环内部略有修改,如下所示:

search_term = '%{}%'.format(search_string)
my_filter = getattr(ModelClass, field_string).like(search_term)
Run Code Online (Sandbox Code Playgroud)

这会在使用该like方法的行中引发错误:

NotImplementedError: <function like_op at 0x101c06668>
Run Code Online (Sandbox Code Playgroud)

它会为任何文本字符串引发此错误。Python的文档NotImplementedError说:

此异常源自 RuntimeError。在用户定义的基类中,抽象方法在需要派生类覆盖方法时应引发此异常。

这不是AttributeError,所以我认为该like方法存在,但还有其他错误,我不确定是什么。

更新

现在我正在更仔细地查看模型定义,我认为问题可能在于我是在关系而不是Column类型上这样做。

我看到type(getattr(ModelClass, field_string))了:

<sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x102018090>
Run Code Online (Sandbox Code Playgroud)

由于这不是一种Column类型,我查看了其值field_string …

python sqlalchemy flask-sqlalchemy

5
推荐指数
1
解决办法
1995
查看次数

标签 统计

python ×4

sqlalchemy ×2

class ×1

flask-sqlalchemy ×1

ipython ×1

pyzmq ×1