我试图使用python脚本中的Vagrant调用FastDowndown planner
我尝试了os库,但失败了
然后我在子流程中尝试了不同的方法:
cmd = ['downward/fast-downward.py', "--alias", "lama-first", "/vagrant/domain.pddl", "/vagrant/problem.pddl"]
retcode = subprocess.call(cmd)
print(retcode)
它输出:
Traceback (most recent call last):
File "C: / ... .py", line 124, in
main (sys.argv [1:]) File "C: / ... .py", line 111, in main
retcode = subprocess.call (cmd)
File "C: \ .... \ Anaconda3 \ lib \ subprocess.py", line 323, in call
with Popen (* popenargs, ** kwargs) as p:
File "C: \ ...... \ Anaconda3 \ lib \ subprocess.py", line 775, in init restore_signals, start_new_session)
File "C: \ ..... \ Anaconda3 \ lib \ subprocess.py", line 1178, in _execute_child startupinfo)
FileNotFoundError: [WinError 2] Cannot find the specified file from the system
我也尝试过:
retcode = subprocess.call("vagrant up")
retcode = subprocess.call("vagrant ssh")
cmd = ['downward/fast-downward.py', "--alias", "lama-first", "/vagrant/domain.pddl", "/vagrant/problem.pddl"]
retcode = subprocess.call(cmd)
print(retcode)
但是这些都被ssh卡住了,这是不正确的,启动一个流浪环境需要很多时间
这是我的工作环境:
多谢各位
编辑:
我已经尝试了这些链接,但我无法让Vagrant选项出现在pycharm中: https://www.jetbrains.com/help/pycharm/vagrant-support.html#
经过大量研究,我设法从python脚本中直接运行一个ssh命令到vagrant。在这种情况下,我运行快速向下规划器:
上述解决方案将输出字符串保存在变量
output
中。您可以使用此选项将输出打印到终端:您可以在
-t
之后运行多个命令,用分号'command1; command2;...'
分隔from this answer(我没有尝试过)您可以使用子流程库而不是操作系统,并且可以将
output
字符串变量拆分为具有output=output.split()
的字符串列表我希望我能提供帮助,因为vagrant文档并不完整,而且Windows的在线示例也不多
相关问题 更多 >
编程相关推荐