pyassimp.errors.AssimpError: assimp library not found

pyassimp安装配置

最近要在python环境下处理模型,于是assimp的python版本pyassimp便成了最好的选择,然而安装却不是那么顺利。
在用以下的命令安装pyassimp后,

pip install pyassimp

在python中进行导入(import pyassimp)的时候,总是报这样的错:

Traceback (most recent call last):
  File "E:/2018/formal/python/voxelisation/voxelisation.py", line 1, in <module>
    import pyassimp 
  File "C:\Python27\lib\site-packages\pyassimp\__init__.py", line 1, in <module>
    from .core import *
  File "C:\Python27\lib\site-packages\pyassimp\core.py", line 34, in <module>
    class AssimpLib(object):
  File "C:\Python27\lib\site-packages\pyassimp\core.py", line 38, in AssimpLib
    load, load_mem, export, release, dll = helper.search_library()
  File "C:\Python27\lib\site-packages\pyassimp\helper.py", line 233, in search_library
    raise AssimpError("assimp library not found")
pyassimp.errors.AssimpError: assimp library not found

Windows下

由于pyassimp需要调用已经生成好的dll等动态库文件,因此这里报出了找不到相应的库文件。
这里可以到assimp的官网去下载源码,然后使用cmake,vs自己编译得到对应的库文件 ** [推荐 ]**
或者使用官网提供的编译好的库文件,注意只有3.1.1版本(3.1.1以上的版本只提供源码)提供编译好的库文件(解压后在lib64,bin64找到文件)
也可以使用我已经编译好的适用于win10,x64的库文件。
链接:https://pan.baidu.com/s/1Q6V_Y16bPHPPIoK4XOHx5Q 提取码:d4c2,放到相关路径下即可

查看helper.py,发现查找库文件的语句如下:
这里写图片描述
因此把已经编译好的assimp.dll,以及assimp.lib放到与helper.py同一文件夹下即可,我的路径是:

C:\Python27\Lib\site-packages\pyassimp

在这里插入图片描述
最后,import pyassimp成功不报错。

Linux下

相比windows而言,Linux 就简单很多了,使用如下命令即可完成相关库文件的安装

sudo apt-get install libassimp-dev
<think>好的,我现在需要解决用户提到的TensorFlow中的NotFoundError: libtensorflow_compression.so缺失的问题。首先,我应该回想一下常见的TensorFlow文件缺失错误,可能的原因有哪些。根据用户提供的引用内容,之前出现过模型文件路径错误、CUDA版本不匹配、检查点路径问题等,这些都可能与当前的libtensorflow_compression.so问题类似。 首先,这个错误可能发生在运行需要特定TensorFlow库或扩展的时候。libtensorflow_compression.so可能与TensorFlow的压缩模块有关,可能是在使用某些特定功能或第三方库时触发的。用户可能是在尝试运行某个需要这个库的脚本或应用程序,但TensorFlow安装中没有包含这个库,或者路径配置不正确。 接下来,我需要考虑可能的解决方案。参考用户提供的引用[4]中提到,当遇到CUDA相关的库缺失时,用户通过调整CUDA版本和修改.sh文件来解决。这可能意味着需要检查环境变量或编译设置是否正确。另外,引用[1]和[2]中的问题涉及文件路径错误,所以检查文件是否存在或路径是否正确也是关键。 可能的解决步骤包括: 1. 确认TensorFlow是否正确安装,特别是是否安装了包含压缩模块的版本。用户可能需要安装特定版本的TensorFlow,或者从源代码编译以包含该模块。 2. 检查libtensorflow_compression.so是否存在于系统路径中,或者是否被正确安装。如果该库是第三方扩展,可能需要单独安装。 3. 确认环境变量如LD_LIBRARY_PATH是否包含该库所在的目录。 4. 如果是从源代码编译,可能需要重新配置编译选项,确保压缩模块被包含。 5. 检查项目中的脚本或代码,是否有硬编码的路径错误,引用[2]中的路径问题可能与此类似。 此外,用户可能在运行自定义算子或扩展时遇到此问题,如引用[4]中的情况,修改.sh文件中的路径和版本可能有效。因此,用户可能需要检查相关脚本,确保CUDA和TensorFlow的版本匹配,并且所有必要的依赖项已正确安装。 总结下来,解决方案可能涉及重新安装或编译TensorFlow,检查路径设置,确保依赖项正确安装,以及调整脚本中的配置。需要逐步排查可能的原因,并参考类似问题的解决方法。</think>### 解决TensorFlow中`libtensorflow_compression.so`未找到的问题 #### 问题原因分析 `NotFoundError: libtensorflow_compression.so`表明TensorFlow运行时未能找到动态链接库文件。可能原因包括: 1. **TensorFlow未完整安装**:某些定制化或编译版本可能缺少压缩模块。 2. **路径配置错误**:库文件未加入系统路径或环境变量未正确设置[^4]。 3. **第三方依赖缺失**:若使用特定扩展(如模型压缩库),可能需要额外安装。 4. **版本冲突**:TensorFlow与CUDA/cuDNN版本不匹配(常见于GPU环境)。 --- #### 分步解决方案 1. **验证TensorFlow安装完整性** - **使用预编译版本**:通过`pip`重新安装官方版本: ```bash pip uninstall tensorflow pip install tensorflow # CPU版本 # 或 pip install tensorflow-gpu # GPU版本(需CUDA支持) ``` - **检查库文件路径**: - 安装后,检查Python包目录(如`site-packages/tensorflow/`)是否包含`libtensorflow_compression.so`。 - 若缺失,可能是安装包未包含此模块,需从源码编译。 2. **源码编译TensorFlow(针对定制需求)** - 步骤: 1. 下载TensorFlow源码: ```bash git clone https://github.com/tensorflow/tensorflow.git cd tensorflow ``` 2. 配置编译选项时,启用压缩支持: ```bash ./configure # 在配置过程中选择包含所有扩展模块 ``` 3. 执行编译: ```bash bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package ``` 4. 生成whl文件并安装: ```bash ./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg pip install /tmp/tensorflow_pkg/*.whl ``` 3. **设置环境变量** - 若库文件已存在但路径未识别,添加库路径到`LD_LIBRARY_PATH`: ```bash export LD_LIBRARY_PATH=/path/to/tensorflow/libs:$LD_LIBRARY_PATH ``` - 永久生效可写入`~/.bashrc`或`~/.zshrc`。 4. **检查第三方依赖** - 若使用特定压缩库(如`tensorflow_compression`): ```bash pip install tensorflow-compression ``` - 验证是否与TensorFlow主版本兼容。 5. **CUDA/cuDNN版本适配** - 对于GPU版本,需确保CUDA版本与TensorFlow版本匹配(参考[官方文档](https://www.tensorflow.org/install/source#gpu))。 - 示例:TensorFlow 2.10需要CUDA 11.2和cuDNN 8.1。 --- #### 验证代码示例 ```python import tensorflow as tf print(tf.sysconfig.get_lib()) # 检查TensorFlow库路径 print(tf.test.is_built_with_cuda()) # 验证GPU支持 ``` ---
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值