当前位置: 首页 > article >正文

python打包open3d问题

python打包open3d问题

问题

因为项目需要,所以使用了open3d库,通常使用pyinstaller打包程序,可执行程序都可以正常运行,但是在包含open3d库后,打包报错

image-20250106135355925

执行时报错

OSError: libc++.so.1: cannot open shared object file: No such file or directory

image-20250106135442188

实际寻找了对应的库,包含后进行pyinstaller打包,仍然报错

该问题也被提问到open3d的开源库中,其解释方法不可用

https://github.com/isl-org/Open3D/issues/6136

image-20250106135604448

解决

寻找了相关问题,其对应的libc++.so.1相关库文件都是正常存在的,但是pyinstaller打包的时候就是找不到

方法1

程序报错时说是找不到

先查询对应链接库位置

find / -name libc++.so.1

image-20250106141931989

将链接库加入到编译中

打开.spec,修改binaries参数如下

image-20250106141829692

重新编译即可

pyinstaller hello.spec

方法2

如果pyinstaller实在无法和open3d适配,可以使用其他打包工具,这里使用到了nuitka

安装

pip install -U nuitka

写一个hello.py程序测试

print("hello")

使用nuitka进行打包

nuitka --static-libpython=no  --lto=no --include-package=encodings hello.py 

成果为hello.bin,执行不报错,修改为包含open3d库的代码打包后也不报错。


http://www.kler.cn/a/469995.html

相关文章:

  • 《C++11》各种初始化方式的详细列举与对比
  • python 如何调整word 文档页眉页脚
  • Swift White Hawkstrider
  • 如何提高软件研发效率?
  • 基于 Node.js 的 ORM(对象关系映射)工具——Sequelize介绍与使用,并举案例分析
  • 「Java 数据结构全面解读」:从基础到进阶的实战指南
  • 尚硅谷· vue3+ts 知识点学习整理 |14h的课程(持续更ing)
  • 如何分析 Nginx 日志
  • 并查集:合并集合
  • (leetcode算法题)137. 只出现一次的数字 II
  • cursor vip
  • AFFAM模型详解及分析
  • Mac软件介绍之录屏软件Filmage Screen
  • day01_ Java概述丶开发环境的搭建丶常用DOS命令
  • 银河麒麟高级服务器操作系统忘记root密码
  • vue管理后台搭建
  • 防止密码爆破debian系统
  • LLM中的Attention实现及优化
  • 【 算法设计与分析-回顾算法知识点】福建师范大学数学与计算机科学学院 2006 — 2007学年第二学期考试 A 卷
  • Spark和Mapreduce对比
  • SpringBoot开发——内置的 ObjectUtils 工具类详解
  • 【C++】类和对象(下):友元、static成员、内部类、explicit 和 匿名对象
  • VUE3配置后端地址,实现前后端分离及开发、正式环境分离
  • 【C++】const关键字_运算符重载_继承
  • Spring Boot教程之四十七:Spring Boot ——JDBC
  • BMS应用软件开发 — 2 单体电池的基本结构和工作原理