• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

M1arm Mac安装open3d

武飞扬头像
学到老才能活到老
帮助1

问题

说在前面:open3d对arm架构的机器支持相对比较晚,所以目前还在完善当中,我试了官方给出的两种方法安装都出现了错误:首先给出官方的安装说明:

Open3D ARM support

第一种:conda环境直接使用pip安装,即如下命令:

pip install open3d

但是这种情况的大概率会出错,比较常见的两种错误,一个是因为依赖和conda的python版本问题直接报错,还有一种是安装成功了,但是import open3d的时候出现这种错误:

  1.  
    Traceback (most recent call last):
  2.  
    File "<stdin>", line 1, in <module>
  3.  
    File "/opt/homebrew/Caskroom/miniforge/base/envs/test_env/lib/python3.9/site-packages/open3d/__init__.py", line 97, in <module>
  4.  
    from open3d.cpu.pybind import (camera, data, geometry, io, pipelines,
  5.  
    ImportError: dlopen(/opt/homebrew/Caskroom/miniforge/base/envs/test_env/lib/python3.9/site-packages/open3d/cpu/pybind.cpython-39-darwin.so, 0x0002): symbol not found in flat namespace '_quadmath_snprintf'`

这个错误也有一些国外网友遇到过,github上有相关的问题阐述和解决,但是我试了好像不太行,给个传送门:open3d 0.16.0: arm64 conda python unable to import due to '_quadmath_snprintf' not found #5607

第二种:使用源码编译安装,最终在编译完成后出现了其他错误,这里没有记录,所以暂时没有图片参考。


解决方案

最终在官方github的问题提交分支里,我找到了一种可行的方法:

在这里:Open 3D package for Apple silicon M1 #2675

学新通

这个方法大概就是下载对应python版本的wheel文件,然后使用pip本地安装即可。

step 1:下载.whl文件,链接在Apple Silicon Experimental Wheel

学新通

因为我的conda 环境python版本为3.9,所以我下了第二个cp39的,(我才那个数字是对应的python版本吧,不知道,但我测试成功了)。

step 2:安装下载的whl文件

首先,找到你的文件下载地址,从你的终端进到这个文件夹下,如我的:

  1.  
    kongds@kongds ~$ cd Downloads
  2.  
    kongds@kongds ~/Downloads$ ls
  3.  
    open3d-0.13.0 621176cd9-cp39-cp39-macosx_11_0_arm64.whl

然后需要启动你用到的conda环境,如果你用的是pycharm,而且使用的是conda的虚拟环境,那你需要先去pycharm里面找打你配置的虚拟环境名:

学新通

 如我的,就是py。你可以从终端查看一下当前的conda环境列表,相关命令如下:

第一条是查看所有的conda 虚拟环境,第二条命令是启动这个名为py的虚拟环境,可以发现前面多了个(py),这就说明启动成功了

  1.  
    kongds@kongds ~/Downloads$ conda info -e
  2.  
    # conda environments:
  3.  
    #
  4.  
    base /opt/anaconda3
  5.  
    py /opt/anaconda3/envs/py
  6.  
     
  7.  
    kongds@kongds ~/Downloads$ conda activate py
  8.  
    (py) kongds@kongds ~/Downloads$

然后就是可以使用如下命令从本地whl安装了:

(py) kongds@kongds ~/Downloads$ pip install open3d-0.13.0 621176cd9-cp39-cp39-macosx_11_0_arm64.whl

因为我安装成功没有保存,所以这里没给出运行结果,一般这条就直接成功了。

这个时候你再从pycharm里面import open3d就可以显示成功了,然后有一段测试程序,你可以随便找一个点云文件来测试:

  1.  
    import open3d as o3d
  2.  
     
  3.  
    print("->正在加载点云... ")
  4.  
    pcd = o3d.io.read_point_cloud("bun000.ply")
  5.  
    print(pcd)
  6.  
    o3d.visualization.draw_geometries([pcd])

给一下我的运行结果:

学新通

 至此,就可以愉快地使用open3d进行点云操作了。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcakch
系列文章
更多 icon
同类精品
更多 icon
继续加载