小编seb*_*ian的帖子

MATLAB 2012+中的Apache HttpClient

我想使用apache httpclient与webservices进行交互.具体来说,我正在使用 http://mirror.arcor-online.net/www.apache.org//httpcomponents/httpclient/binary/httpcomponents-client-4.3-bin.zip

所以在MATLAB中我将所有包含的jar加载到javaclasspath中然后我可以创建到client-instance来使用:

在MATLAB 2007b和2011b中(这些是我的版本):

client = org.apache.http.impl.client.HttpClients.createDefault()
client =

org.apache.http.impl.client.InternalHttpClient@1e89831
Run Code Online (Sandbox Code Playgroud)

在2012b:

>> client = org.apache.http.impl.client.HttpClients.createDefault()

Java exception occurred:
java.lang.NoSuchFieldError: INSTANCE

    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)

    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56)

    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46)

    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72)

    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84)

    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59)

    at
    org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112)

    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:710)

    at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)


>> client = org.apache.http.impl.client.HttpClients.createDefault()
Java exception occurred:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory

    at
    org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136)

    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112)

    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:710)

    at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)
Run Code Online (Sandbox Code Playgroud)

这真是让我烦恼,因为2011b和2012b中的代码是相同的,所有jar都被加载,并且MATLAB中的两个Java版本也是相同的(1.6.0_17-b04).所以我真的不明白为什么课程在2012b中变得无法加载.

我尝试使用matlab类加载器 - 但这让我更加困惑:

>> jloader =  com.mathworks.jmi.ClassLoaderManager.getClassLoaderManager();
>> …
Run Code Online (Sandbox Code Playgroud)

java matlab apache-httpclient-4.x

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

相关子项更改时,SQLAlchemy更新父项

我正在尝试将一个实体建模为一个或多个一对多关系,以便当其last_modified属性更新时

  • 一个孩子被添加或删除
  • 一个孩子被修改
  • 实体本身被修改

我整理了以下最小示例:

class Config(Base):
    __tablename__ = 'config'

    ID = Column('ID', Integer, primary_key=True)
    name = Column('name', String)
    last_modified = Column('last_modified', DateTime, default=now, onupdate=now)

    params = relationship('ConfigParam', backref='config')

class ConfigParam(Base):

    __tablename__ = 'config_params'

    ID = Column('ID', Integer, primary_key=True)
    ConfigID = Column('ConfigID', Integer, ForeignKey('config.ID'), nullable=False)

    key = Column('key', String)
    value = Column('value', Float)

@event.listens_for(Config.params, 'append')
@event.listens_for(Config.params, 'remove')
def receive_append_or_remove(target, value, initiator):
    target.last_modified = now()

@event.listens_for(ConfigParam.key, 'set')
@event.listens_for(ConfigParam.value, 'set')
def receive_attr_change(target, value, oldvalue, initiator):
    if target.config:
        # don't act …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

4
推荐指数
1
解决办法
1090
查看次数

获取小部件的背景颜色 - 真的

我无法获取小部件的实际背景颜色。在我的特殊情况下,我在使用 QTabWidget 中的小部件时遇到问题。

这是在Windows7上。因此,经典的小部件有一些灰色背景,而选项卡内的小部件通常用白色背景绘制。

我试过:

def bgcolor(widget):
    color = widget.palette().color(widget.backgroundRole()) # version 1
    color = widget.palette().color(QtGui.QPalette.Background) # version 2
    rgba = color.red(), color.green(), color.blue(), color.alpha()
    return rgba
Run Code Online (Sandbox Code Playgroud)

这几乎是我可以从 Qt 文档以及 google 和 SO 提供的内容中找出的内容。但是,这根本行不通。

我正在测试 TabWidget 内部和外部的小部件,上面的函数为明显不同颜色的小部件返回相同的颜色。也就是说,它总是返回灰色,即使对于选项卡中的纯白色小部件也是如此。

我在这里错过了什么吗?

编辑:

我的问题是,当使用 matplotlib 时,当嵌入到 QTabWidget 中时,matplotlib 会绘制带有“无”面部颜色的图形,并且背景颜色错误:灰色,即使父窗口小部件是白色的。

为了解决这个问题,我想获取小部件的背景颜色并将其设置为图形的背景颜色。虽然这可能是 matplotlib 问题,但我猜这将是最快的解决方法。当我发现我无法获得正确的颜色时,我变得坚持:)

python qt pyqt matplotlib

3
推荐指数
1
解决办法
5861
查看次数

werkzeug WSGI只能通过"localhost"访问

我在测试我的烧瓶应用程序时遇到了一个奇怪的问题.我将它减少到以下,让它为'test.py':

if __name__ == '__main__':
    from flask import Flask

    app = Flask(__name__)
    @app.route('/hello')
    def hello():
        return 'hello\n'

    app.run(debug = True)
Run Code Online (Sandbox Code Playgroud)

所以我只是这样运行:

python test.py 
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
Run Code Online (Sandbox Code Playgroud)

现在在另一个终端我可以这样做:

>> curl http://localhost:5000/hello
hello
Run Code Online (Sandbox Code Playgroud)

但是,什么行不通,是这样的:

>> curl http://192.168.178.23:5000/hello
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)

其中ifconfig en1给出了: [...] inet 192.168.178.23 [...]

最初我想从本地网络中的另一台机器测试我的实际应用程序 - 这就是我遇到这个问题的方式.

我也试过我的浏览器,wget和其他"客户".

如果我用python内置的BaseHTTPServer和Handler替换所有Flask/Werkzeug的东西,事情很好 - 这让我得出结论,下面有一个烧瓶或werkzeug的奇怪问题,而不是例如我的网络配置.

我对所有低级别的io都不太熟悉,所以不知道从哪里开始寻找问题的根源.

如果我在这里遗漏了一些愚蠢的东西,请提前道歉......

python macos werkzeug flask

0
推荐指数
1
解决办法
1324
查看次数