我正在尝试使用python中的fabric向另一台机器上的程序发送命令。
from fabric.api import env, run
env.host_string = 'xxx.xxx.xxx.xxx'
env.user = 'username'
env.password = 'password'
run('ls')
run('rostopic list')
Warning: run() received nonzero return code 127 while executing 'rostopic list'!
'/bin/bash: rostopic: command not found'
rostopic list
它像它应该的那样运行
我不知道如何进行,我不明白为什么它不工作与织物。我试着用paramiko实现这个,但我也遇到了一些问题,但是它用pxssh很好。问题是我需要这个在Windows上工作,而pxssh不兼容。如何使此命令与Fabric一起工作?
从您对pathing问题所做的评论来看,似乎需要使用路径
、cd
和/或prefix
上下文管理器的某些组合,以便在SSH连接上运行ROS(机器人操作系统)命令。您可能还希望通过将Fabric完全排除在外来解决故障,而是通过ssh-t
使命令工作,如下所示:
$ ssh user@machine -t "cd /my/home/directory && /opt/ros/indigo/bin/rostopic list"
一个将上下文管理器与Fabric一起使用的示例如下所示:
with path('/opt/ros/indigo/bin/'):
with prefix('always run this command'):
with cd('/my/special/directory'):
run('rostopic list')
这是相当做作的,但希望能说明这一点。无论如何,我将首先确保您可以通过ssh-t
运行该命令。解决这个问题可能会引导你找到正确的方法来实现这一点。
作为一个附带/相关的考虑:这是远程机器上的虚拟环境吗?您可以使用前缀
上下文管理器来激活它,如下所示:
with prefix('/opt/ros/indigo/bin/activate'):
run('rostopic list')
或者使用ssh-t
,可以执行:
$ ssh user@machine -t "/opt/ros/indigo/bin/activate && rostopic list"
我已经与2个组织建立了超分类账结构网络,并在对等上安装了V1.1版本的fabcar链码,我保留了区块链的存储。 接下来,我在fabcar上添加了更多的方法,试图将现有的fabcar升级到V1.2,但我面临着错误。 错误:无法组装事务,err建议响应不成功,错误代码500,msg无法获得链码的包(FABCAR:1.2) 我正在使用下面的命令升级chaincode
区块链技术是计算机技术与金融技术交融的成功创新,被认为是极具潜力的分布式账本平台的核心技术。如果你还不了解区块链,可以阅读 区块链技术指南。
我想用JavaFX编写一个文本编辑器,其作用类似于Eclipse/Netbeans IDE,以突出显示Java代码。是否有人可以建议如何实现这一目标,或者有人以前已经这样做过。 谢谢。
我在业余时间开发了一个小游戏,但我遇到了一个问题,我真的不明白它为什么会发生。 这是一段无法真正工作的代码。这是一个带有三个按钮的JFrame(我去掉了另外两个)。它应该是一个暂停菜单,当按下“p”键时是一个“弹出窗口”。它运行得很好,问题是 游戏面板。变量setPause(假); 这一行应该设置一个布尔值为false,然后继续我的游戏循环。但由于某些原因,它从未执行,布尔值保持为true。这个问
我有一个网站正在使用Stripe来处理订阅付款。只有一种类型的订阅。我按照NetTuts上的教程进行了初始设置。有一个表单可以精细处理订阅,一切都正常。客户要求优惠券代码。Stripe支持这个,所以我开始尝试在现有表单中添加优惠券代码。 我在Stripe中设置优惠券代码,设置测试密钥,并在Stripe中切换到测试模式。我正在代码中执行几个检查: 检查是否输入了优惠券,如果没有,则创建一个没有优惠券