下载准备
1、首先要看下安装说明
https://python3-exiv2.readthedocs.io/en/latest/developers.html#building-and-installing
2、这个是exiv2的下载地址,注意,下载 2019msvc64
https://exiv2.org/download.html
3、下载visual studio 2019,版本不限
下载后记住在visual studio Installer中选择以下安装
4、安装boost.python
下载完后解压到C盘,C:\boost_1_73_0,执行
bootstrap.bat vc142
注意,后面的vc142是跟上面的visual studio安装的v142对应的。bootstrap.bat中文件可以打开看下有没有你的版本
SET TOOLSET=msvc
IF "%1"=="gcc" SET TOOLSET=gcc
IF "%1"=="vc71" SET TOOLSET=msvc : 7.1
IF "%1"=="vc8" SET TOOLSET=msvc : 8.0
IF "%1"=="vc9" SET TOOLSET=msvc : 9.0
IF "%1"=="vc10" SET TOOLSET=msvc : 10.0
IF "%1"=="vc11" SET TOOLSET=msvc : 11.0
IF "%1"=="vc12" SET TOOLSET=msvc : 12.0
IF "%1"=="vc14" SET TOOLSET=msvc : 14.0
IF "%1"=="vc141" SET TOOLSET=msvc : 14.1
IF "%1"=="vc142" SET TOOLSET=msvc : 14.2
编译成功后会产生b2.exe文件
再执行
b2 toolset=msvc-14.2 --with-python variant=debug runtime-debugging=on address-model=64 threading=multi --build-type=complete
具体的指令参数意义网上可以搜下,是有的,--build-type=complete这个参数对我来说很重要之前没加入这个,一直没有生成我需要的lib。执行成功后,
a、添加C:\boost_1_73_0\boost到环境变量中
b、添加C:\boost_1_73_0\stage\lib到环境变量中
c、添加把exiv2解压后的lib和bin文件夹到环境变量中
都准备好了,到pycharm的项目下面settings->[项目名]->project Interperter->"+" ->输入py3exiv2-> Install
注意点:安装会有报错,要注意查看log,一般情况下是找不到文件或者是无法Link
找不到文件,就要找到相应文件复制到venv的对应目录下。
无法LInk,有两点,第一下载的exiv2对应的lib和当前settool不一致,第二就是boost编译出来的lib编出来的lib版本有问题,可能是b2使用参数有问题。基本上是这两个点的问题比较多。搞了我一天,郁闷。
Traceback (most recent call last):
File "C:/Users/fangz/PycharmProjects/ParseExif/my_exif.py", line 1, in <module>
import pyexiv2
File "C:\Users\fangz\PycharmProjects\ParseExif\venv\lib\site-packages\pyexiv2\__init__.py", line 60, in <module>
import libexiv2python
ImportError: DLL load failed: 找不到指定的模块。
没有添加环境变量,或者环境变量没生效。使用print(os.environ['PATH']) 打印变量看下