首先,因为自己是普通用户权限,所以,肯定是要先构建自己的Python虚拟环境了。

$ cd Your/virtualenv/folder
$ pip install virtual
$ virtualenv es

接着,启动刚刚构建的python虚拟环境 es

$ source

重点内容来啦:),安装matplotlib

(es) $ pip install matplotlib
......

提示信息:

The following required packages can not be built: * freetype, png

解决问题:

step 0: 创建存放freetype,libpng相关内容的文件夹

  • 存放安装源码
$ cd ~
$ mkdir pkgs
  • 存放安装内容
$ cd ~
$ mkdir local/freetype -p
$ mkdir local/libpng -p

step 1: 安装freetype

$ cd ~/pkgs/
$ wget http://download.savannah.gnu.org/releases/freetype/freetype-2.6.tar.gz
$ tar -zxvf freetype-2.6.tar.gz
$ cd freetype-2.6
$ ./configure --prefix=/home/yourusername/local/freetype
$ make && make install

step 2: 安装libpng

​下载地址​

把文件复制或移动到 ​​~/pkgs​

$ cd ~/pkgs/
$ tar -zxvf libpng-1.6.21.tar.gz
$ cd libpng-1.6.21
$ ./configure --prefix=/home/yourusername/local/libpng
$ make && make install

step 3: 更改​​.bash_profile​

$ cd ~
$ vim .bash_profile
export PKG_CONFIG_PATH=/home/yourusername/local/freetype/lib/pkgconfig:$PKG_CONFIG_PATH
export PKG_CONFIG_PATH=/home/yourusername/local/libpng/lib/pkgconfig:$PKG_CONFIG_PATH

立即生效​​.bash_profile​

$ cd ~
$ source

step 4: 启动es虚拟环境,并验证

(es)$ python
(es)>>> import matplotlib.pyplot as plt
......

提示:

ImportError: libpng16.so.16: cannot open shared object file

因为是普通用户权限,所以,我无法按照参考链接中的方法进行操作。

既然,找不到 ​​libpng16.so.16​​​。我先看一下自己​​~/local/libpng/lib​​ 下是否有改文件。

$ cd ~/local/libpng/lib
libpng16.a libpng16.la libpng16.so libpng16.so.16 libpng16.so.16.21.0 libpng.a libpng.la libpng.so

发现存在该文件,只是没有找到。那样就好办了,之前处理过类似OpenCV3里面的​​cv2.so​​​。只需修改​​~/.bash_profile​​​文件,添加​​libpng16.so.16​​ 的路径即可。

$ cd ~
$ vim .bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/elasticsearch/local/libpng/lib
$ cd ~
$ source

最后,再次启动es虚拟环境,验证matplotlib模块

(es) $ python
>>> import matplotlib.pyplot as

OK!