本周我们精选出社区问答进行整理汇总,各位开发者在使用PaddlePaddle过程中遇到技术难题,可以到PaddlePaddle公众号【常见问答】专栏(点击主菜单中”定制服务“后可见)上寻求解决方案,希望能帮助新用户在MacOS安装过程中解答疑惑。
关键字:Configuring incomplete
问题描述:以源码方式在MacOS上安装时,出现Configuring incomplete, errors occured!
报错截图:
解决方法:安装PaddlePaddle编译时需要的各种依赖则可,如下:
pip install wheel
brew install [email protected]
pip install protobuf==3.1.0如果执行pip install protobuf==3.1.0时报错,输出下图内容:
从图中可以获得报错的关键为Cannot uninstall 'six',那么解决方法就是先安装好six,再尝试安装protobuf 3.1.0如下:
easy_install -U six
pip install protobuf==3.1.0
关键字:wget
问题描述:MacOS 10.12下编译PaddlePaddle出现/bin/sh: wget: command not found
报错截图:
解决方法: 报错的原因从报错输出的信息中可以发现,即没有有找到wget命令,安装wget则可,安装命令如下:
brew install wget
关键字:CMake
问题描述:官网中只介绍了Mac下使用Docker安装编译PaddlePaddle的方式,因为我对Docker不怎么熟悉,想直接安装到本地的Mac系统中,MacOS版本为10.13,是符合要求的,但尝试了多次后,已经出现No rule to make target错误
报错截图:
解决方法:修改CMake编译命令,打开WITH_FLUID_ONLY编译选项,修改后编译命令如下: cmake .. -DWITH_FLUID_ONLY=ON -DWITH_GPU=OFF -DWITH_TESTING=OFF
关键字:fluid CMakeFiles
问题描述:MacOS本机直接通过源码编译的方式安装PaddlePaddle出现[paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2
报错截图:
关键字:源码编译 缺失module
问题描述: 从源码编译,最后cmake ..时 Could NOT find PY_google.protobuf (missing: PY_GOOGLE.PROTOBUF)
CMake Error at cmake/FindPythonModule.cmake:27 (message):
python module google.protobuf is not found 若通过-D设置路径后,又会有其他的如Could not find PY_wheel等其他找不到的情况
解决方法:
如上,当cmake找到python解释器和python库时,如果安装了许多pythons,它总会找到不同版本的Python。在这种情况下,您应该明确选择应该使用哪个python。通过cmake显式设置python包。只要确保python libs和python解释器是相同的python可以解决所有这些问题。当这个python包有一些原生扩展时,例如numpy,显式set python包可能会失败。
关键字:权限错误
问题描述: 因为需要安装numpy等包,但在Mac自带的Python上无法安装,导致难以将PaddlePaddle正常安装到Mac本地
问题解答: Mac上对自带的Python和包有严格的权限保护,最好不要在自带的Python上安装。建议用virtualenv建立一个新的Python环境来操作。virtualenv的基本原理是将机器上的Python运行所需的运行环境完整地拷贝一份。我们可以在一台机器上制造多份拷贝,并在这多个拷贝之间自由切换,这样就相当于在一台机器上拥有了多个相互隔离、互不干扰的Python环境。
解决方法:
下面使用virtualenv为Paddle生成一个专用的Python环境。
安装virtualenv,virtualenv本身也是Python的一个包,可以用pip进行安装: sudo -H pip install virtualenv由于virtualenv需要安装给系统自带的Python,因此需要使用sudo权限。
接着使用安装好的virtualenv创建一个新的Python运行环境: virtualenv --no-site-packages paddle--no-site-packages 参数表示不拷贝已有的任何第三方包,创造一个完全干净的新Python环境。后面的paddle是我们为这个新创建的环境取的名字。
执行完这一步后,当前目录下应该会出现一个名为paddle(或者你取的其他名字)的目录。这个目录里保存了运行一个Python环境所需要的各种文件。启动运行环境: source paddle/bin/activate执行后会发现命令提示符前面增加了(paddle)字样,说明已经成功启动了名为‘paddle’的Python环境。执行which python,
可以发现使用的已经是刚刚创建的paddle目录下的Python。在这个环境中,我们可以自由地进行Paddle的安装、使用和开发工作,无需担心对系统自带Python的影响。
如果我们经常使用Paddle,我们每次打开终端后都需要执行一下source paddle/bin/activate来启动环境,比较繁琐。为了简便,可以修改终端的配置文件,来让终端每次启动后自动启动特定的Python环境。执行: vi ~/.bash_profile打开终端配置文件,并在文件的最后添加一行: source paddle/bin/activate这样,每次打开终端时就会自动启动名为‘paddle’的Python环境了。
如果在这篇文章中没有得到您所遇到问题的解答时,请不要着急。我们将即可推出后续问题解答报道,敬请期待~