vnpy 在 Ubuntu 安装时报 command ‘gcc‘ failed with exit status 1 怎么解决
2026/9/10 1:52:38 网站建设 项目流程

vnpy 在 Ubuntu 安装时报 command 'gcc' failed with exit status 1 怎么解决

【免费下载链接】vnpy基于Python的开源量化交易平台开发框架项目地址: https://gitcode.com/vnpy/vnpy

在 Ubuntu 上安装 vnpy(VeighNa)时,运行一键安装脚本install.sh的过程中,终端可能出现如下报错:

command 'gcc' failed with exit status 1

根据Ubuntu 安装指南的“Python开发环境问题处理”一节,这个报错通常是由于找不到头文件导致的,多半是没有正确安装 Python 开发环境造成的。处理方法是:用 apt-get 安装与当前 Python 对应的开发包(-dev包),然后重新执行安装脚本。下面按操作顺序给出完整处理路径。

确认报错现象与原因

文档中描述的报错现象是:安装过程中出现command 'gcc' failed with exit status 1,原因是缺少头文件,即 Python 开发环境没有正确安装。

如果你的报错正是这个现象,按下面的步骤处理即可;如果是其他报错(如 Qt 的xcb插件加载失败、中文编码问题等),文档中“常见问题”一节给出了各自的独立处理方法,不属于本文范围。

准备:确认编译器与 Python 版本

执行安装前,按安装指南的要求先确认两件事:

  1. 本地 Python 版本需要 3.7 及以上,可在命令行运行python命令查看。
  2. 安装 gcc 编译器,用于编译 C++ 类接口文件。在终端中运行:
sudo apt-get update sudo apt-get install build-essential

这一步是安装的前置要求。确认build-essential已安装但仍报gcc failed的,说明缺的是 Python 头文件,继续下一步。

安装对应的 Python 开发包

文档给出的解决方案命令是:

sudo apt-get install 你的python软连接-dev

其中你的python软连接需要替换为你系统里 python 命令的实际名称。安装指南中举的例子是python3python3.10这类非python的软连接名,对应的开发包就是python3-devpython3.10-dev

以最常见的python3为例,实际执行的就是:

sudo apt-get install python3-dev

重新执行一键安装

安装好开发包后,重新进入解压出的 VeighNa 源代码目录(包含install.sh文件的那一层目录),在终端中重新运行一键安装命令:

sudo bash install.sh

请注意:如果 python 软连接名不为python(比如python3python3.10),需要把 python 名称作为参数传入:

sudo bash install.sh 你的python软连接

例如软连接是python3时,执行sudo bash install.sh python3

验证安装结果

安装完成后,按安装指南的“启动VeighNa Trader”一节验证:进入解压源码目录下的examples/veighna_trader/文件夹,找到run.py文件(可参考仓库中的 run.py),打开终端输入命令启动 VeighNa Trader:

python run.py

能够成功启动 VeighNa Trader 界面,说明安装完成。文档同时提醒:run.py中包含了较多的启动加载项(交易接口和应用模块),请根据实际操作系统和交易需求修改调整(若需加载接口,取消接口前注释符号即可)。

限制与注意事项

  • 文档对该报错的表述是“可以在终端中运行下述命令尝试解决”,即安装-dev包是针对“找不到头文件”这一原因的对应处理;执行后如果仍报相同错误,文档未给出进一步的处理步骤。
  • 如果是在虚拟机上运行,请把内存调至 4G 以上,否则会报错内存不足。
  • 部分交易接口不支持 Ubuntu 系统,启动时不要加载这些接口。
  • 如果启动时出现一些库版本不兼容的情况,可根据提示对这些库重新 pip 安装。

【免费下载链接】vnpy基于Python的开源量化交易平台开发框架项目地址: https://gitcode.com/vnpy/vnpy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询