问题
说在前面: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])
给一下我的运行结果:
文章来源:https://www.toymoban.com/news/detail-436918.html
至此,就可以愉快地使用open3d进行点云操作了。文章来源地址https://www.toymoban.com/news/detail-436918.html
到了这里,关于M1(arm) Mac安装open3d的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!