Ubuntu虚拟环境中visqol命令未找到报错的解决问询
VISQOL命令未找到错误修复及虚拟环境配置说明
核心问题分析
/bin/sh: 1: visqol: not found 是根本错误——系统(包括激活的Python虚拟环境)无法定位visqol可执行文件,导致调用返回None,进而触发RuntimeError以及后续的TypeError(用None与float类型做比较)。
修复步骤
1. 检查VISQOL安装状态
激活虚拟环境后,在终端执行:
visqol --version
若提示命令未找到,说明VISQOL未安装或路径未配置。
2. 在Ubuntu 18.04上编译安装VISQOL
VISQOL依赖编译环境,需按以下步骤操作:
- 安装编译依赖:
sudo apt-get update && sudo apt-get install build-essential cmake libeigen3-dev libsndfile1-dev
- 克隆源码并编译:
git clone https://github.com/google/visqol.git cd visqol mkdir build && cd build cmake .. make -j$(nproc)
编译完成后,build目录下会生成visqol可执行文件。
3. 让虚拟环境识别VISQOL
两种可行方案:
- 方案一:全局配置(推荐)
将编译好的visqol复制到系统全局可执行目录,确保所有环境都能调用:sudo cp ./visqol /usr/local/bin/ - 方案二:虚拟环境单独配置
激活目标虚拟环境,进入其bin目录(例如~/your_venv/bin),创建软链接指向编译好的visqol:
替换ln -s /path/to/visqol/build/visqol ./visqol/path/to/visqol/build/visqol为你实际的编译文件路径。
4. 验证修复
重新激活虚拟环境,执行visqol --version,若能正常输出版本信息,再运行项目即可解决所有相关异常。
VISQOL在虚拟环境中的正确位置
虚拟环境无需单独编译安装VISQOL,只需确保虚拟环境的可执行路径能找到visqol文件:
- 优先通过全局配置,让虚拟环境继承系统PATH中的
visqol路径; - 若需隔离环境,可在虚拟环境的
bin目录下创建软链接指向外部编译好的visqol可执行文件。
内容的提问来源于stack exchange,提问作者SimonLiu
相关产品推荐
相关产品推荐

