在Conda环境安装matplotlib==3.0.3时遇LNK1181错误:无法打开png.lib
解决Conda环境安装matplotlib==3.0.3时LNK1181找不到png.lib的问题
你的报错核心是链接器找不到png.lib文件,这说明matplotlib编译时需要的libpng开发库没有被编译器识别到,以下是几个针对性的解决方法:
方法1:用Conda直接安装预编译包(最推荐)
手动源码编译很容易遇到依赖问题,Conda已经为Windows环境打包好了预编译的matplotlib 3.0.3版本,直接运行以下命令就能跳过编译环节,彻底避免这类链接错误:
conda install matplotlib==3.0.3
方法2:先安装libpng开发依赖再尝试编译
如果你坚持要源码安装,先在当前Conda环境里安装libpng的开发包,它会自动把png.lib和相关头文件放到环境的对应路径,让编译工具能自动识别到:
conda install libpng
安装完成后再重新运行pip install matplotlib==3.0.3即可。
方法3:手动指定libpng的库路径(备选)
如果上面的方法没起效,可以手动告诉链接器png.lib的位置。找到你Conda环境下的Library/lib文件夹(比如你的路径是C:\Anaconda3\envs\rev_env\Library\lib),在编译时将这个路径添加到链接器的LIBPATH参数中,不过这种方法比较繁琐,优先推荐前两种方案。
补充说明
你之前解决rc.exe缺失的操作是正确的,但那只是解决了编译初期的工具缺失问题,现在的报错出现在链接阶段,核心是补全libpng的开发支持。
LINK : fatal error LNK1181: cannot open input file 'png.lib'
内容的提问来源于stack exchange,提问作者r0ot293
相关产品推荐
相关产品推荐

