PaddlePaddle踩坑指北系列——MacOS安装

本周我们精选出社区问答进行整理汇总,各位开发者在使用PaddlePaddle过程中遇到技术难题,可以到PaddlePaddle公众号【常见问答】专栏(点击主菜单中”定制服务“后可见)上寻求解决方案,希望能帮助新用户在MacOS安装过程中解答疑惑。

问题1:在MacOS上安装时,出现Configuring incomplete, errors occured!错误

关键字:Configuring incomplete

问题描述:以源码方式在MacOS上安装时,出现Configuring incomplete, errors occured!

报错截图:

从图中可以获得报错的关键为Cannot uninstall 'six',那么解决方法就是先安装好six,再尝试安装protobuf 3.1.0如下:

easy_install -U six

pipinstallprotobuf==3.1.0

问题2:/bin/sh: wget: command not found

关键字:wget

问题描述:MacOS 10.12下编译PaddlePaddle出现/bin/sh: wget: command not found

报错截图:

解决方法: 报错的原因从报错输出的信息中可以发现,即没有有找到wget命令,安装wget则可,安装命令如下:

brewinstall wget

问题3:No rule to make target

关键字: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

问题4:[paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2

关键字:fluidCMakeFiles

问题描述:MacOS本机直接通过源码编译的方式安装PaddlePaddle出现[paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2

报错截图:

解决方法: 使用cmake版本为3.4则可

问题5:paddle源码编译(osx)报各种module找不到的问题

关键字:源码编译缺失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包可能会失败。

问题6:在Mac上无法安装numpy等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环境了。

如果在这篇文章中没有得到您所遇到问题的解答时,请不要着急。我们将即可推出后续问题解答报道,敬请期待~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181226B1EJJA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券