问题
我在导入pyarrow的时候遇到这个报错
importError:libbrotlienc.so.1: cannot open shared object file: No such file or directory
摸索
1.刚才我因为numba版本过低 从0.53到0.54升级了numba 结果它给我安装和删除了很多包 我估计其中就有涉及到pyarrow的。
于是科学上网 看到有个大神说
You have installed pyarrow 0.14.1 while arrow-cpp 0.15.0. The versions of these libraries need to be the same.
大概意思就是pyarrow与arrow-cpp的版本不一致 一语惊醒梦中人啊
然后我conda list看出两者版本确实不太一样 pyarrow为4.0.1 而arrow-cpp已经5.0.0了 我之前好像pyarrow也是5.0.0 估计是numba给我改了版本 所以诸位能不升级包还是别升级吧
2.所以我就运行
conda uninstall pyarrow
把pyarrow删除了 但是我看到conda list中还是有pyarrow 而python环境中也能导入pyarrow 只是这是个空包 里面没有任何函数。应该是虽然删除了包 但是有残留
3.然后我通过conda clean清理了包
https://www.jianshu.com/p/f14ac62bef99
并且把anaconda3/lib/python3.8/site-packages目录下的pyarrow文件夹删除 这个时候conda list已经看不到pyarrow了。之后我又用
conda install pyarrow 5.0.0 -c conda-forge
安装新的pyarrow。安装完成后 还是出现一模一样的问题
心态崩了 T_T
4.然后继续度娘 看到两篇文章
https://blog.csdn.net/hhhuua/article/details/80705655
https://blog.csdn.net/lhl_blog/article/details/87914237
尝试了一下 依旧不行
5.突然想起来 之前我的pyarrow好像是通过pip安装的啊
心里隐隐感觉摸索到了真相 但是随之冷静下来 先把残留的包删除
find ~ -name pyarrow
在 anaconda3/pkgs下看到pyarrow-5.0.0-py38h1bc9799_0_cpu这个文件夹
于是删除掉
rm -rf ~/anaconda3/pkgs/pyarrow-5.0.0-py38h1bc9799_0_cpu
最后 执行
pip install pyarrow
没报错 成功



