编程语言
首页 > 编程语言> > subprocess.CalledProcessError: Command ‘[‘which‘, ‘c++‘]‘ returned non-zero exit status 1.

subprocess.CalledProcessError: Command ‘[‘which‘, ‘c++‘]‘ returned non-zero exit status 1.

作者:互联网

出现的错误:

subprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero exit status 1.

在网上搜了搜没看到有同样错误的解决办法,有的地方提到的什么gcc、g++我也都是安装好了的,最后在这篇(报错subprocess.CalledProcessError: Command ‘[‘which‘, ‘g++‘]‘ returned non-zero exit status 1.)解决类似错误的文章里找到了这一行命令:

sudo apt-get install build-essential

根据这篇博客,Ubuntu提供了一个叫build-essential软件包,安装了该软件包,编译c/c++所需要的软件包也都会被安装。
运行结果:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  g++
建议安装:
  g++-multilib
下列【新】软件包将被安装:
  build-essential g++
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 32 个软件包未被升级。
需要下载 6,326 B 的归档。
解压缩后会消耗 36.9 kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 g++ amd64 4:7.4.0-1ubuntu2.3 [1,568 B]
获取:2 http://mirrors.aliyun.com/ubuntu bionic/main amd64 build-essential amd64 12.4ubuntu1 [4,758 B]
已下载 6,326 B,耗时 1秒 (12.4 kB/s)        
正在选中未选择的软件包 g++。
(正在读取数据库 ... 系统当前共安装有 197460 个文件和目录。)
正准备解包 .../g++_4%3a7.4.0-1ubuntu2.3_amd64.deb  ...
正在解包 g++ (4:7.4.0-1ubuntu2.3) ...
正在选中未选择的软件包 build-essential。
正准备解包 .../build-essential_12.4ubuntu1_amd64.deb  ...
正在解包 build-essential (12.4ubuntu1) ...
正在设置 g++ (4:7.4.0-1ubuntu2.3) ...
update-alternatives: 使用 /usr/bin/g++ 来在自动模式中提供 /usr/bin/c++ (c++)
正在设置 build-essential (12.4ubuntu1) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...

看上面的意思好像是装了g++,但是我本来就装了g++啊,在装build-essential之前已经装了g++ 7.5:

g++ --version

g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

不明白这两个g++是有什么区别。
不过现在程序可以正常运行啦~

标签:status,...,non,returned,++,build,软件包,essential,amd64
来源: https://blog.csdn.net/zylooooooooong/article/details/113422239