Ubuntu16.04运行VRN项目时遇Torch中fb.python模块缺失错误求助
解决Torch中
fb.python模块缺失的问题 嘿,我来帮你搞定这个问题!你运行./run.sh时遇到的module 'fb.python' not found错误,本质是你的Torch环境里缺少了Facebook官方的Lua/Python交互模块。下面是针对Ubuntu 16.04的分步解决方法,操作起来很简单:
第一步:确认LuaRocks可用
Torch自带LuaRocks(Lua的包管理器),先打开终端输下面的命令验证:
luarocks --version
如果能显示版本信息就没问题;要是提示“命令不存在”,先安装LuaRocks:
sudo apt-get update sudo apt-get install luarocks
第二步:安装系统依赖库
这个模块需要一些系统库支持,先把它们装上:
sudo apt-get install libboost-all-dev libgoogle-glog-dev libgflags-dev libprotobuf-dev protobuf-compiler
第三步:编译安装fb.python模块
fb.python是fblualib工具集的一部分,需要从源码编译安装:
- 打开终端,切换到你的用户主目录,克隆代码仓库:
cd ~ git clone https://github.com/facebook/fblualib.git cd fblualib
- 初始化并更新子模块(这一步会拉取依赖的代码):
git submodule update --init --recursive
- 进入
fbpython目录,用LuaRocks编译安装:
cd fbpython luarocks make rocks/fbpython-scm-1.rockspec
要是编译时提示Python版本问题,Ubuntu 16.04默认是Python 2.7,你可以指定Python路径来解决:
luarocks make rocks/fbpython-scm-1.rockspec PYTHON=/usr/bin/python2.7
第四步:验证安装是否成功
打开Torch的交互终端th,输入下面的Lua命令:
require 'fb.python'
如果没有报错,说明模块已经安装好了!这时候再回去运行项目的./run.sh脚本,应该就能正常执行了。
额外排查小技巧
要是还是有问题,你可以检查这几点:
- 确认Torch的环境变量正常,运行
echo $PYTHONPATH,看看输出里有没有Torch相关的Python路径; - 如果你之前装过多个Python版本,可能会有冲突,可以试试用虚拟环境隔离;
- 检查
run.sh脚本里有没有指定特殊的Torch路径,确保和你当前用的Torch环境一致。
内容的提问来源于stack exchange,提问作者Manasvini Ganesh
相关产品推荐
相关产品推荐

