文章目录
- [1 问题描述](#1 问题描述)
- [2 原因分析](#2 原因分析)
- [3 解决方法](#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:
python
pip uninstall pyassimp
然后在PyPl官网上下载源码安装包:
- 打开下载界面:https://pypi.org/project/pyassimp/
- 在左边控制栏点击"Release history"按钮,选择以往的3.3版本(因任务需要,我没有安装最新的版本,大家有兴趣的话可以尝试按本方法是否能安装最新版本)。
-
点击"Download files"按钮下载"pyassimp-3.3.tar.gz"压缩包文件。
-
将文件解压,并把文件夹的名称改为pyassimp(后续系统会把这个文件夹的名称当作第三方库来识别,等价于包名)。
-
将解压好的文件夹放
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检查是否安装成功。