【Pycharm+OpenGL+assimp】Python环境下assimp的环境配置
1. 环境介绍
pycharm2018.3.5+anaconda3+python3.7版本,因为要做三维模型的加载,所以在python中导入assimp三方库。
2.先在pycharm的设置菜单里面添加assimp试试
- File->Setting->Project Interpreter->Available Packages
- 选择settigs
- 按照上图中的步骤依次进行。选择Project Interpreter ,先选择自己的解释器(编译器),然后点击步骤4和步骤5.
- 搜索assimp后,出来四个结果。我选择第二个assimp,然后点击Install Packages,一般情况下不会成功,肯定没有这么简单啊,不然也没必要写教程了,哈哈。
- 依旧不死心,再尝试几次,还是报相同错误,只能另寻他路了。
- 3.pip安装
打开anaconda prompt,输入代码如下:
pip install assimp
图中显示安装成功,迫不及待的点开pycharm进行测试,输入代码:
import assimp
发现报错:
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
不知道哪出了问题,百度一下,发现好多人遇到这个情况,按照别的教程说法是由于pyassimp需要调用已经生成好的dll等动态库文件,因此这里报出了找不到相应的库文件。
- assimp源码+cmake
所以下一步就是assimp官网下载源码使用cmake进行编译。不知道cmake的清自行百度。assimp官网如下,选择最新的3.3.1下载。
下载之后解压之后放在任意位置。然后下载cmake。
cmake下载时注意选择相应的版本,我选择安装64位的版本。cmake安装好之后打开是这样的界面。
配置cmake
首先在 Where is the source code 中(也就是位置1),选择刚才下载的assimp的压缩包解压之后的位置。位置为包含 CMakeLists.txt 的文件夹。
选择上图中的目录位置即可。然后,在相同位置下新建一个 build 的文件夹,如下图所示。
然后在 Where to build the binaries option 中(位置2),选择为刚才新建的 build 。
选择好之后点击下面的configure,在弹出菜单中选择你自己电脑上安装的相应的vs。
我的电脑装的Visual Studio 是最新的2019版本,一般cmake不支持vs2019,所以我选择了好几个版本的vs之后都会报同样的错误。
报错如下,继续百度…
CMake Error at CMakeLists.txt:40 (PROJECT):
Failed to run MSBuild command:
MSBuild.exe
to get the value of VCTargetsPath:
系统找不到指定的文件。
直接上图:
那估计就是vs版本不合适了,我接着又下载了一个2017版本的vs,重复了一遍上面的步骤,很绝望地发现居然还报错,还是相同的问题,没办法,我只能在我同学的电脑上试了一下(她的上面装的是vs2013版本),操作之后选择2013版本的vs,点击configure,居然成了。大概就是下面这个图这个样子,因为别人的电脑,忘记截图了。
然后进入刚才新建的 build 文件夹,找到 assimp.sln, 双击打开。
在vs里面生成解决方案,点击 Build Solution。经过一段时间的执行,在D:\assimp-3.3.1\build\code\Debug中查看是否有以下几个文件。如果能找到 dll 和 lib 文件,就表明配置成功了。然后把这两个文件复制到pycharm中安装好的assimp文件夹下即可。
查看pycharm环境下安装的assimp在哪里,在pycharm设置里面看路径。
我的路径如下:
把生成的lib和dll文件复制进来。
最后,在pycharm下测试,新建py文件,输入:import assimp。奔溃了,依旧报相同的错误。
最后依旧不死心,在anaconda prompt 中把assimp卸载了,重新安装一遍,测试后import assimp不报错。