首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用system()从C程序运行python包返回错误

使用system()从C程序运行python包返回错误
EN

Stack Overflow用户
提问于 2022-04-03 16:26:41
回答 1查看 85关注 0票数 0

我计划使用checkov python包生成舵机图表的报告,然后用C程序读取输出。但是,当我尝试使用system()运行包时,我会得到一个错误:sh: 1: checkov: not found

我可以将来自终端的命令简单地作为checkov使用,并且它可以工作。Python在path上,包也是如此。

我在我的c程序中使用的完整命令是:

代码语言:javascript
复制
system("checkov -d /workspace/testdir -o json");

我尝试过使用python3.8 -m,但这也会返回一个错误,因为这个checkov不是脚本。

我该如何解决这个问题?我使用Python3.8在Ubuntu20.04上运行这个程序。

编辑:按照@fukanchik的建议,我使用了system("ps $$")来检查shell和系统(“$PATH”)的路径。原来,c程序使用sh,而我的默认终端是bash。此外,/home/epodegrid/.local/bin不在sh的路径上,这将导致错误。当我使用C程序中的system()输出bash的路径时,路径也会丢失。那我该怎么解决这个问题?

编辑2 : --在更多的评论中,当我在Ubuntu终端中编译cmake程序时,路径似乎被添加了,并且运行良好,但是不能使用when的run/build选项。

编辑3:不重复的问题是even没有为终端设置环境变量,即使程序是用WSLUbuntu20.04编译的。在Ubuntu终端中,路径是正确设置的,但是,当我使用Clion的工具运行system()时,没有设置路径。

EN

回答 1

Stack Overflow用户

发布于 2022-04-03 16:43:32

尝试将整个路径名添加到checkof中以查看它,这是路径问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71727808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档