M1(arm) Mac安装open3d

本文详细介绍了在ARM架构上安装Open3D的过程及遇到的问题。针对官方提供的两种安装方式存在的错误,提供了通过下载特定版本的wheel文件并使用pip进行本地安装的成功案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

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

Open3D ARM support

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

pip install open3d

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

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/Caskroom/miniforge/base/envs/test_env/lib/python3.9/site-packages/open3d/__init__.py", line 97, in <module>
    from open3d.cpu.pybind import (camera, data, geometry, io, pipelines,
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文件

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

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

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

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

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

kongds@kongds ~/Downloads$ conda info -e                                  
# conda environments:
#
base                     /opt/anaconda3
py                       /opt/anaconda3/envs/py

kongds@kongds ~/Downloads$ conda activate py                                   
(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就可以显示成功了,然后有一段测试程序,你可以随便找一个点云文件来测试:

import open3d as o3d

print("->正在加载点云... ")
pcd = o3d.io.read_point_cloud("bun000.ply")
print(pcd)
o3d.visualization.draw_geometries([pcd])

给一下我的运行结果:

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值