CentOS普通用户权限安装matplotlib-python
原创
©著作权归作者所有:来自51CTO博客作者Digital2Slave的原创作品,请联系作者获取转载授权,否则将追究法律责任
首先,因为自己是普通用户权限,所以,肯定是要先构建自己的Python虚拟环境了。
$ cd Your/virtualenv/folder
$ pip install virtual
$ virtualenv es
接着,启动刚刚构建的python虚拟环境 es
重点内容来啦:),安装matplotlib
(es) $ pip install matplotlib
......
提示信息:
The following required packages can not be built: * freetype, png
解决问题:
step 0: 创建存放freetype,libpng相关内容的文件夹
$ 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
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
最后,再次启动es虚拟环境,验证matplotlib模块
(es) $ python
>>> import matplotlib.pyplot as
OK!