西西河

主题:个人经验总结帖,内容不定,不定期更新 -- 休眠火山

共:💬29 🌺73
全看分页树展 · 主题 跟帖
家园 windows python3.8.5安装libtiff

折腾了半天才搞定,太不容易了

网上几乎没有任何有用的参考资料能够直接解决。。。也许是确实水平太低导致的。。结果就是几乎网上所有相关的错误我都遇到了一遍

首先,说一下情况,由于需要在一个windows 10 平台下python使用libtiff,进行技术验证,所以为保证软件一致,所以使用了python3.8版本软件,在安装libtiff时出现错误,无法安装。网上最常见的方法是pip install libtiff,安装时出错,要求安装vc++ 14.0。不想安装所以开始需求其他办法。

网上方法一:使用现成的库。到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这个网址去直接下载whl文件,并使用pip install xxx.whl直接安装。但是这个最新的就是cp37,无法安装,始终显示平台不对。安装失败。

网上方法二:到pylibtiff官方网站直接下载,使用python setup.py install安装,结果仍然需要vc环境,失败。

网上方法三:直接使用pip install pylibtiff。失败,显示找不到对应的版本。

无奈,还是按照提示,安装了vc++14.0,也就是2015的编译命令行版本。安装成功,无论是方法1还是2都成功。3继续失败。但是方法一安装的结果是0.4.2版本,方法二安装的是0.4.4版。二者同时存在。于是卸载0.4.2,保留0.4.4。然而,import 失败。

提示是找不到libtiff.dll,也就是没有动态链接库……具体提示是“ImportError('Failed to find TIFF library. Make sure that libtiff is installed and its location is listed in PATH|LD_LIBRARY”

然后又是一堆瞎操作。具体就不赘述了,虽然很多都是按照网上的方法去做的,但都无效,为了节省大家的时间。直接说结果。

最简单的办法,就是上网上下载一个libtiff.dll的64位版本,存储到c:\windows\system32目录下。如果下载的是32位版本的话,会提示无效的32位程序……

另外就是不要在方法二产生的解压缩文件文件夹运行python,否则会出现导入tif_lzw模块错误“cannot import name 'tif_lzw' from partially initialized module 'libtiff'。”

除了上面的方法,还有再就是自己编译的方法,到libtiff官方网站上下载最新的官方源码,解压缩后,打开visual c++ 2015 x64 native build tools command prompt,定位到解压缩的目录,直接运行 nmake /f makefile.vc。然后到libtiff目录,复制新生成的libtiff.dll文件到上述system32目录,但是还需要建立一个include文件夹,并把libtiff目录中的tiff.h文件复制进来。效果和上一段也是一样的,版本可能会新一点。

大概就是这样吧。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河