CentOS 7下Python2与Python3共存

来源:互联网 发布:淘宝马克华菲折扣店 编辑:程序博客网 时间:2024/05/20 06:10

说明:自己所使用的centos版本为7.3,系统自带的Python版本为2.7.5(可以通过python -V)命令进行查看。如果安装软件时不是使用的root用户,则请在命令前自行添加sudo。
本次操作的主要内容为:首先通过编译安装的方式来安装Python3.6.2,之后对Python3进行一些设置。

1. 正式安装之前,需要安装的一些依赖软件

# yum -y groupinstall "Development tools"# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2. Python3的编译安装

# 首先,从官网中下载源码:wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz# 解压tar -zxv -f Python-3.6.2.tgzcd Python-3.62.tgz# 编译并设置软件安装位置# 其中第二个参数--enable-optimizations可省略(该项参数的作用是便于python3的后续使用)./configure –prefix=/usr/local/python3 --enable-optimizationsmake && make install

OK,至此,python3编译安装完成,但还需要进行一些设置告诉系统我们安装了python3.

3. 后续的一些设置问题

3.1 后续设置

(1)导出二进制程序目录至PATH环境变量中

vim /etc/profile.d/python3.sh# 输入export PATH$PATH:/usr/local/python3/bin

(2)导出库文件路径

vim /etc/ld.so.conf.d/python3.conf# 输入/usr/local/python3/lib

(3)导出头文件

# 通过设置软链接的方式实现ln -sv /usr/local/python3/include  /usr/include/python3

(4)导出帮助手册

# 在CentOS 6 中是/etc/man.config文件vim /etc/man_db.conf # 在#MANDATORY_MANPATH处添加一句MANDATORY_MANPATH   /usr/local/python3/share/man

至此,编译安装的python3使用上和通过yum安装的软件便没什么区别了,建议大家之后通过编译安装的软件也进行类似地设置。
进行测试:

# python3Python 3.6.2 (default, Jul 18 2017, 15:58:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> print("hello, python3")hello, python3>>> exit()

3.2 设置pip国内镜像

mkdir /root/.pip; cd /root/.pip; vim pip.conf

将pip安装源镜像设置为阿里云镜像

[global]trusted-host =  mirrors.aliyun.comindex-url = http://mirrors.aliyun.com/pypi/simple

测试能否使用pip安装软件
pip3 install numpy

Collecting numpy  Downloading http://mirrors.aliyun.com/pypi/packages/59/e2/57c1a6af4ff0ac095dd68b12bf07771813dbf401faf1b97f5fc0cb963647/numpy-1.13.1-cp36-cp36m-manylinux1_x86_64.whl (17.0MB)    100% |████████████████████████████████| 17.0MB 2.5MB/s Installing collected packages: numpySuccessfully installed numpy-1.13.1

OK。

4. 参考资料

  1. http://blog.csdn.net/nuli888/article/details/51957127
  2. https://segmentfault.com/a/1190000006111096
  3. http://www.jianshu.com/p/785bb1f4700d
  4. http://www.cnblogs.com/sanduzxcvbnm/p/5984352.html
  5. http://www.linuxidc.com/Linux/2016-04/129786.htm
  6. http://xslwahaha.blog.51cto.com/4738972/1441518