一招解决报错:pyassimp.errors.AssimpError: assimp library not found

文章目录

  • 1 问题描述
  • 2 原因分析
  • 3 解决方法

1 问题描述

在使用pip install pyassimp安装pyassimp库后,调用时会出现错误:

File"/root/anaconda3/envs/kgn/lib/python3.8/site-packages/pyassimp/helper.py",
line 234, in search_library
raise AssimpError(“assimp library not found”) pyassimp.errors.AssimpError: assimp library not found

2 原因分析

这个报错的大致意思是当前工作目录必须包含dll文件,但是目前没有这个dll文件,需要去编译。

顺着这个思路,目前网上关于报错的解决方法大概是:

  • 下载源码并使用CMake进行编译,生成dll文件。但是这种方法太麻烦并且容易出错。
  • 如果是 Ubuntu系统则使用命令:sudo apt-get install python-pyassimp解决。但是我要安装的地方是服务器,在服务器里我没有sudo权限,因此这个最简单的方法用不了。

3 解决方法

在我不断的尝试后发现,发现将源码安装包直接放在python存储第三方库的地方,这样就直接完成了pyassimp包的安装和编译
首先使用pip命令卸载原来安装的pyassimp:

pip uninstall pyassimp

然后在PyPl官网上下载源码安装包:

  1. 打开下载界面:https://pypi.org/project/pyassimp/
  2. 在左边控制栏点击“Release history”按钮,选择以往的3.3版本(因任务需要,我没有安装最新的版本,大家有兴趣的话可以尝试按本方法是否能安装最新版本)。
一招解决报错:pyassimp.errors.AssimpError: assimp library not found_第1张图片
  1. 点击“Download files”按钮下载“pyassimp-3.3.tar.gz”压缩包文件。

  2. 将文件解压,并把文件夹的名称改为pyassimp(后续系统会把这个文件夹的名称当作第三方库来识别,等价于包名)。

  3. 将解压好的文件夹放site-packages文件夹中。原理:我们下载的是已经处理好的第三方包的全部文件,以pip等方式安装的python第三方库全都存储在这个文件夹中,因此将pyassimp文件夹放入就等价于安装pyassimp。
    关于这个site-packages文件的路径,最简单的寻找办法就是看报错信息:
    报错中的helper.py文件就在site-packages下的pyassimp文件夹中。以我上面的报错信息为例,我的site-packages文件夹的路径应该是: /root/anaconda3/envs/kgn/lib/python3.8/site-packages/
    我的这种路径情况是:linux系统中anaconda创建的kgn虚拟环境下3.8版本python对应的第三方安装包的路径。site-packages文件夹默认放置在python解释器的安装目录下,顺着这一思路去找自己的路径!

最后调用pyassimp检查是否安装成功。

你可能感兴趣的:(编程环境配置,神经网络,pyassimp安装,深度学习,pip)