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 中,以便為每次登入進行設定。

如果有多個這樣的 lib 路徑,請在第一個路徑後面加上一個冒號,然後再新增下一個。

相關內容