python-3.x - 这个错误的原因是什么“/usr/bin/sudo: /usr/bin/sudo: 无法执行二进制文件”
问题描述
我正在尝试使用 Windows 10 中的 bash 在 python 中运行 Linux 命令,该命令在迭代中修复错误后正在执行 ac 程序。
我已经安装了 gcc 和其他东西。
subprocess.run(['C:\\Windows\\System32\\bash.exe', 'sudo', 'timeout','10' ,'gcc', '-fprofile-arcs', '-ftest-coverage', '-o', './tcas', './tcas.c'])
我希望程序应该执行并给出结果。
解决方案
经过大量研究,我找到了一种解决方案。
有很多方法可以在 Windows 上运行 linux 命令。
我用的是cygwin。我的代码不需要 sudo,所以我删除了它。
subprocess.run(['C:\\cygwin64\\bin\\mintty.exe', 'timeout','10' ,'gcc', '-fprofile-arcs', '-ftest-coverage', '-o', './tcas', './tcas.c'])
另一种方法是通过安装linux虚拟机来实现,但是cygwin更方便。
推荐阅读
- python - 脚本应该创建文件并在其中写入数据,文件被创建但为空
- r - 在 R 中将宽面板 data.frame 转换为长从到(源-目的地)转换格式
- r - 防止因子转换为水平
- .net - 从 xml 流中提取最新日期的记录
- angular - 使用 jasmine/karma 在 Angular 6 中测试返回语句
- windows - Windows 和 CMake 下的共享库:安装前未找到 DLL
- algorithm - 随机算法的概率放大
- mysql - 学习 SQL:根据是否设置列值查询差异表中的行
- r - 闪亮:更新输入而不触发反应?
- mobx - 如何观察 mobx 可观察地图中的任何变化(添加、删除或更改的属性)?