前言:前几天,在Ubuntu上面安装百度的pgl框架,由于一直报“No module name Graph”的错误,折腾了很久
虚拟机信息
虚拟机版本:Ubuntu 20.4
python版本:python3
paddle版本:1.8.5
出错过程
1、首先按照paddle官网的教程先执行用python自带的pip以下指令
sudo pip3 install paddlepaddle==1.8.5 -i https://mirror.baidu.com/pypi/simple
2、然后用pip安装一下PGL
sudo pip3 install pgl
3、之后你便会得到如上报错信息,即
No module name GraphWrapper
而且是在运行到pgl那个地方报的错
解决
1、我翻了一大堆资料,并尝试重新安装paddle以及pgl,最后在重新安装pgl完成的时候发现了pgl的版本信息为2.0.0a,而之前我在Windows上面安装的时候的版本信息为1.2.1(能正常运行pgl的示例)
2、而就在这一个时候,我也恰好翻到了官网的GitHub中的一条信息
Paddle2.0是动态图了,为了进一步简化使用,我们将GraphWrapper的概念去掉了,目前可以直接在Graph上进行Send/Recv
3、这么说的话,很可能便是新老版本不兼容的问题,于是我尝试着从GitHub上面下载官网的源代码如下
git clone https://github.com/PaddlePaddle/PGL
cd PGL
python3 setup.py install
问题解决
后记
问题解决后回忆起前辈说过的一句话——pip安装可能会不大可靠,pip安装如果出现问题的话,还是用git安装吧