我正在尝试安装 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 中,以便每次登录时进行设置。
如果您有多个这样的库路径,请在第一个后添加一个冒号,然后添加下一个。