matplotlib 说 libpng16.so.16:无法打开共享对象文件:没有此文件或目录

matplotlib 说 libpng16.so.16:无法打开共享对象文件:没有此文件或目录

我正在尝试安装 matplotlib 版本 2.0.0。我没有 root 访问权限,因此无法使用 sudo/apt-get 当我尝试安装 matplotlib 时,它显示了对 freetype 和 libpng 的依赖。因此,我执行了以下步骤:

wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.34.tar.gz
tar -xzf libpng-1.6.34.tar.gz 
cd libpng-1.6.34/
./configure --prefix=/home/$username$/
make
make check
make install

cd ..
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.3.tar.gz
tar xzf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/home/$username$ --without-png
make && make install
export PKG_CONFIG_PATH=/home/$username$/lib/pkgconfig

pip install matplotlib==2.0.0

运行得很好。但是当我import matplotlib.pyplot as plt 这样做时,它抛出了以下错误:

ImportError: libpng16.so.16: cannot open shared object file: No such file or directory

答案1

安装在用户主目录中的程序也可能安装一些必要的库。通过环境变量 LD_LIBRARY_PATH 来告诉程序加载器这些库的位置。

export LD_LIBRARY_PATH="/$HOME/<any other optional program directories>/lib"

可以将此行添加到主目录中的隐藏文件 .profile 中,以便每次登录时进行设置。

如果您有多个这样的库路径,请在第一个后添加一个冒号,然后添加下一个。

相关内容