繁体   English   中英

通过本机消息扩展 (Firefox) 从 Python 启动 Matlab 时出现奇怪的错误

Strange error when starting Matlab from Python via Native Messaging Extension (Firefox)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试在从 Firefox Native Messaging 应用程序检索的 URL 上运行一些 Matlab 代码。 我使用 python 脚本,该脚本使用 Matlab 引擎来运行我的脚本。 这工作得很好:

import matlab.engine
import sys
import struct
import time
import subprocess
import logging

# Function to receive Message
def getMessage():
    rawLength = sys.stdin.buffer.read(4)
    print(rawLength)
    if len(rawLength) == 0:
        sys.exit(0)
    messageLength = struct.unpack('@I', rawLength)[0]
    message = sys.stdin.buffer.read(messageLength).decode('utf-8')

    eng = matlab.engine.connect_matlab()
    eng.workspace['url'] = message
    eng.eval('myMatlabFunc(url)', nargout=0)


getMessage()

现在我想检查 Matlab 是否正在运行,如果没有启动它:

if not matlab.engine.find_matlab():
    subprocess.run('C:\\Program Files\\MatlabR2020b-64bit\\bin\\matlab.exe')

这很有效,之后我也可以运行我的代码:

eng = matlab.engine.connect_matlab()
eng.workspace['var1'] = '1'

但是后来我遇到了一种奇怪的行为,我无法解释。

脚本完成后,Matlab 将退出而没有警告/崩溃/异常...最奇怪的是,只有当我通过本机消息连接运行脚本时才会发生这种情况。

如果我在 Pycharm 中运行脚本,一切都会按预期工作。

我希望这里有人可以帮助我解决这个问题!

谢谢,本

问题暂未有回复.您可以查看右边的相关问题.
2 从实用程序到Chrome扩展程序与本机消息传递主机通信时出错

我正在使用本机消息将通信发送到C#应用程序,然后C#应用程序将消息发送到pos卡刷卡设备。 C#应用程序将要充值的金额发送到Pos设备,而pos设备又返回用于充值的卡的详细信息,最后四位数字,依此类推。 然后,使用以下代码使用chrome Extension将消息发送到网页 ...

2018-12-12 07:28:44 0 17   c#
3 Firefox 扩展,带有“本机消息”安装程序

我正在开发带有本机消息传递的浏览器扩展程序(firefox/chrome),因此它能够与本机应用程序进行通信。 你能给我指出正确的方向来自动化它的使用吗? 我的意思是(这一切都可能吗?): - 我可以让网站检测是否安装了扩展程序。 如果它没有安装,我需要允许用户安装它。 - 鉴于它需要安装额外的e ...

4 从 c++ 向铬扩展 [Native Messaging] 发送消息时的奇怪行为 - 没有发送数据

嗨,希望每个人都做得很好! 我开始研究与 cpp exe 对话的 chrome 扩展。 目前我只是想从扩展中读取一些数据,这些数据使用以下代码按预期工作 当尝试使用以下代码从 cpp -> 扩展发送相同的信息时 它按预期工作 工作场景的屏幕截图但是,当我尝试发回另一个字符串而不是我们发送的相同 ...

8 从本机主机向浏览器扩展发送消息时获取“与本机消息传递主机通信时出错”(Windows)

我得到一个“Inside onDisconnected():与本机消息传递主机通信时出错。” 从本机主机应用程序向浏览器扩展发送消息时。 有几件事可能导致这种情况: 1)在消息开头发送的长度不正确,或发送的长度字节的顺序不正确(字节顺序)。 2)在写入之前不要将stdout置 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM