Linux平台上Python环境工具搭建及问题集合

2019 年 4 月 25 日 安全优佳
点击上方 “安全优佳” 可以订阅哦!

我们系统默认的Python环境

如果numpy不能通过测试,就需要卸载,测试方式

我们尝试卸载(虽然没有模块)

因为没有pip,所以我们需要安装pip,我们利用yum安装

首先安装epel扩展源:

yum -y install epel-release

更新完成之后,就可安装pip:

yum -y install python-pip

安装的依赖工具

对安装好的pip进行升级 pip install --upgrade pip

出现问题,我们使用脚本安装,运行一下命令

wget

python get-pip.py(因为网络的问题,我中断过几次,所以我的命令末尾有一个.5)

我们查看版本号

我们再重新尝试卸载,可以看到pip已经安装成功同时没有需要被卸载的模块

我们安装各种依赖包(有的前面已经安装过)

yum install –y python-devel python-nose python-setuptools

yum install -y gcc gcc-gfortran gcc-c++ blas-devel lapack-devel atlas-devel

安装numpy

测试是否安装成功

安装PNG库文件

因为PNG文件需要用到zlib进行编解码, 所以用到libpng的同时也需要zlib加密解密

这是依赖的安装包

我们继续安装freetype

安装这两个插件

yum install -y tkinter

yum install -y tk-devel

最后通过pip安装matplotlib

pip install matplotlib

出现问题,超时问题

解决:使用国内镜像下载python 的方法

国内镜像地址

阿里云

http://mirrors.aliyun.com/pypi/simple/

中国科技大学

https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban)

http://pypi.douban.com/simple/

清华大学

https://pypi.tuna.tsinghua.edu.cn/simple/

中国科学技术大学

http://pypi.mirrors.ustc.edu.cn/simple/

使用方式:

pip install -i https://pypi.douban.com/simple <需要安装的包>

比如:pip install -i https://pypi.douban.com/simple requests

那么我们使用

pip install -i https://pypi.douban.com/simple matplotlib

出现问题:我们升级到python3.4以上

目前的版本号

我们先准备编译环境

yum install gcc-c++ gcc make cmake zlib-devel bzip2-devel openssl-devel ncurse-devel –y

我们下载

wget

因为速度较慢我直接上传本地的tar包

解压并配置

解压tar Jxvf Python-3.7.0.tar.xz

进入python3.7.0目录cd Python-3.7.0

创建目录mkdir -p /usr/local/python3

配置(指定安装目录)

./configure

--prefix=/usr/local/python3 --enable-optimizations

编译及安装make && make install

出现问题

3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可

yum install libffi-devel -y

重新执行make install

更换系统默认Python版本

备份原系统旧版本python

mv /usr/bin/python /usr/bin/python.bak

创建新版本Python3.7的软链接

ln-s/usr/local/python3/bin/python3.7 /usr/bin/python

查看Python版本

python –V

如果出现yum使用的错误问题 修改yum功能

因为yum的功能依赖Pyhon2,现在更改默认Python版本后会导致yum无法正常工作,所以进行以下修复

vim /usr/bin/yum

将/usr/bin/python改为/usr/bin/python2.7

vim /usr/libexec/urlgrabber-ext-down

将/usr/bin/python改为/usr/bin/python2.7

默认pip也是需要修改的,可以通过find / -name 'pip3'找到pip3的位置

mv /usr/bin/pip /usr/bin/pip.bak

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

我们继续安装matplotlib,出现问题

openssl的版本为

penssl-devel-1.0.2k-16.el7_6.1.x86_64,而python3.7需要的openssl的版本为1.0.2或者1.1.x,需要对openssl进行升级,并重新编译python3.7.0。yum 安装的openssl 版本都比较低。

升级openssl

下载openssl:

wget

tar -zxvf openssl-1.1.1a.tar.gz

cd openssl-1.1.1a

编译安装

./config --prefix=/usr/local/openssl no-zlib

make && make install

备份原配置

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl/ /usr/include/openssl.bak

新版配置

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

修改系统配置

写入openssl库文件的搜索路径

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf

使修改后的/etc/ld.so.conf生效

ldconfig -v

执行完查看

进入python 安装包 目录下重新编译并且安装python

./configure

--prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

make && make install

我们继续安装matplotlib

pip

install -i https://pypi.tuna.tsinghua.edu.cn/simple/ matplotlib

执行命令python -m pip list

接下来进行测试matplotlib 如果不显示错误的话,就说明你已经成功安装了matplotlib

安全优佳

http://news.secwk.com

长按识别左侧二维码,关注我们

登录查看更多
0

相关内容

一份简明有趣的Python学习教程,42页pdf
专知会员服务
76+阅读 · 2020年6月22日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
【电子书推荐】Data Science with Python and Dask
专知会员服务
43+阅读 · 2019年6月1日
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
【推荐】中文处理(BiLSTM分词)工具包FoolNLTK
机器学习研究会
6+阅读 · 2017年12月27日
A Survey on Deep Learning for Named Entity Recognition
Arxiv
26+阅读 · 2020年3月13日
Arxiv
35+阅读 · 2019年11月7日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Few-shot Learning: A Survey
Arxiv
362+阅读 · 2019年4月10日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
22+阅读 · 2018年8月30日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
7+阅读 · 2017年12月28日
VIP会员
相关VIP内容
相关资讯
用 Python 开发 Excel 宏脚本的神器
私募工场
26+阅读 · 2019年9月8日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
【推荐】中文处理(BiLSTM分词)工具包FoolNLTK
机器学习研究会
6+阅读 · 2017年12月27日
相关论文
A Survey on Deep Learning for Named Entity Recognition
Arxiv
26+阅读 · 2020年3月13日
Arxiv
35+阅读 · 2019年11月7日
A Comprehensive Survey on Transfer Learning
Arxiv
121+阅读 · 2019年11月7日
Few-shot Learning: A Survey
Arxiv
362+阅读 · 2019年4月10日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Knowledge Based Machine Reading Comprehension
Arxiv
4+阅读 · 2018年9月12日
Arxiv
22+阅读 · 2018年8月30日
A Survey on Deep Transfer Learning
Arxiv
11+阅读 · 2018年8月6日
Arxiv
7+阅读 · 2017年12月28日
Top
微信扫码咨询专知VIP会员