问题描述:
在一个现有 c++ 项目中,添加了 .py 脚本,用来对 项目的运行结果 日志文件 进行分析。但是在 运行/调试 .py 脚本的时候,clion 的 run/debug console 返回 exit code 127
,无法正确得到运行结果,情形如下:
hello.py 调试
/home/jacob/PycharmProjects/baseProject/base/bin/python3.6 /home/jacob/Software/clion-2022.2/plugins/python-ce/helpers/pydev/pydevd.py --multiprocess --client 127.0.0.1 --port 44627 --file /home/jacob/Work_DC/planning/test_yaml/hello.py
Process finished with exit code 127
hello.py 运行
/home/jacob/PycharmProjects/baseProject/base/bin/python3.6 /home/jacob/Work_DC/planning/test_yaml/hello.py
Process finished with exit code 127
解决:
step 1:
在 clion 右上角打开 hello
脚本的配置菜单:
step 2
在确保 Python interpreter 路径配置正确的情况下,将 取消勾选 复选框 Add content roots to PYTHONPATH 和 Add source roots to PYTHONPATH,然后 Apply --> OK:
step 3
再次运行/调试 hello,可以正常显示结果,或者断点调试:
step 4
运行 hello.py
可以看到,clion 可以正常输出 .py 结果。
调试 hello.py
可以看到,clion 可以正常断点。
One More Thing
在可以正常运行脚本的情况下,再次打开 hello 的 配置菜单(见 step 1),将复选框 Add content roots to PYTHONPATH 重新选定,然后 Apply --> OK:
再次进行 step 4,可以发现,hello
也可以正常 运行和调试了。
猜测1:可以只 勾选 Add content roots to PYTHONPATH。
猜测2:这个是 clion 的 bug,因为在其他项目中,Add content roots to PYTHONPATH 和 Add source roots to PYTHONPATH 同时勾选也可以正常运行/调试。
参考
链接1:CLion运行python程序
链接2:Running Python from CLion gives “Processed finished with exit code 127”
链接3:【寒假学Python】Clion运行python程序成功
链接4:ROS机器人操作系统