dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib Referenced from: /usr/local/lib/liblept.5.dylib Reason: image not found'
使用pytesseract解析图片,出现上面错误。
用这句报错,去谷歌搜索,发现*已经有人碰到1,已经有人回答了解决办法。这是由于homebrew的一些问题造成的。
解决方式一
直接用wget下载最新的jpeg库,覆盖原来出问题的库。
wget -c http://www.ijg.org/files/jpegsrc.v8d.tar.gz
tar xzf jpegsrc.v8d.tar.gz
cd jpeg-8d
./configure
make
cp ./.libs/libjpeg.8.dylib /usr/local/opt/jpeg/lib
解决方式二
第一个方法很简单,但是并不是正确的办法,因为它解决了实际问题,但是会破坏homebrew元数据的完整性。
分析问题
这是因为Homebrew的jpeg
库已经升级到了v9,但是现在的PIL还是使用旧版本的库。
使用正确的方式下载jpeg
如果你没有运行brew cleanup
,现在你可以直接转换使用旧版本的jepg:
brew switch jpeg 8d
如果出现错误: jpeg does not have a version "8d" in the Cellar
。你需要首先恢复它:
cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout b231469
HOMEBREW_NO_AUTO_UPDATE=1 brew install jpeg
git checkout master
brew switch jpeg 8d