CentOS下安装Python3

下载

CentOS 7默认安装python2.7,默认指令python上指向python2.7的,而且python2.7原文件就在/usr/bin/目录下

[cjp@localhost ~]$ which python
/usr/bin/python [cjp@localhost bin]$ ls -al|grep python2
lrwxrwxrwx. 1 root root 9 3月 10 01:57 python -> python2.7
lrwxrwxrwx. 1 root root 9 2月 28 06:37 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 11月 6 2016 python2.7

因此要安装python3的话,得从python官网上下载相应版本的安装包

$ wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz

默认下载目录就当前路径

解压

# 一步到位
$ tar -xvJf Python-3.6.6.tar.xz # 分步
$ xz -d Python-3.6.6.tar.xz # 解压成 Python-3.6.2.tar
$ tar xvf Python-3.6.6.tar

解压结果同样在当前路径

配置

需要制定后续编译与安装的制定路径

$ ./configure --prefix=/usr/local/python

gcc

[root@master ~]#./configure --prefix=/usr/local/python

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux
checking for --without-gcc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/pythonSoft/Python-3.6.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

由于本机缺少gcc编译环境

通过yum安装gcc编译环境:yum install -y gcc

$ yum install -y gcc

sudo权限

使用新建账户没发直接执行上面的配置语句,需要root权限,然而sudo还需要针对用户进行添加

$ sudo yum install -y gcc

修改/etc/sudoers,为当前账户添加sudo权限,使用vim

$ vim /etc/sudoers # 进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出

vim

i:进行编辑

esc:退缩编辑

:x :保存并退出

:x!:强制执行

编译

$ cd Python-3.6.6
$ make

安装

$ make install

因为安装涉及修改/usr/local/,必须使用sudo

$ sudo make install

安装过程提示缺少相应的包,使用yum进行安装

$ yum -y install zlib*

再重新安装即可

$ sudo make install

添加软链接

$ ln -s /usr/local/python/bin/python3.6  /usr/bin/python3
$ ln -s /usr/local/python/bin/pip3 /usr/bin/pip3

这样就同时可以使用python2和python3

pip安装出错,找不到SSL

https://blog.csdn.net/jeryjeryjery/article/details/77880227

$ cd Python-3.6.6
$ ./configure --with-ssl
$ make
$ sudo make install

但是这样的话,之前的 ./configure prefix=/usr/local/python就被覆盖了,改为

$ cd Python-3.6.6
$ ./configure --prefix=/usr/local/python --with-ssl
$ make
$ sudo make install

失败,需要提前安装openssl-devel

$ sudo yum install openssl-devel

再重新执行上面的语句

安装virtualenv和virtualenvwrapper

$ pip3 install virtualenv
$ pip3 install virtualenvwarpper

配置virtualenv软链接

因为virtualenvwarpper之后的指令需要使用到virtualenv的指令;因为python3编译安装时说我们自己自定的路径:/usr/local/python,所以之后使用pip安装的virtualenv并没有把默认指令安装在/usr/local/bin中,所以需要自己添加软链接。

如果最初安装python3时没有指定路径的话,或默认安装在/usr/local/下面,自动创建一个python3.6的文件夹,而且对应的指令文件都会在/usr/local/bin/里面,对应之后使用pip安装的virtualenv,其指令文件应该也是会在/usr/local/bin/里面;很方便,但文件就分离了,强迫症不允许。

配置virtualenvwrapper

不使用软链接,也无法使用,因为virtualenvwrapper的所有指令在一个sh文件中,而不是分散的指令文件;

所以使用.bash_profile配置,针对个人用户,不在root,同时每次修改完要重启一个该用户的bash才生效

# 设置环境变量,以后创建的虚拟环境均在此路径中
export WORKON_HOME=~/pyEnv
# 指定默认的python编译器版本
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# 激活virtualenvwrapper.sh
source /usr/local/python/bin/virtualenvwrapper.sh

额外

关于“.bash_profile”和“.bashrc”区别的总结

关于“交互式-非交互式”与“登录-非登陆”shell的总结

$ pip freeze > requirements.txt
$ pip install -r requirements.txt

Sqlit3 驱动

https://blog.csdn.net/blueheart20/article/details/79614505

yum install sqlite-devel

重新编译python安装,不需额外加配置信息

CentOS下安装Python3的更多相关文章

  1. centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'

    centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法 3.7版本需要一个新的包libffi-de ...

  2. centos下安装python3.6.2

    一.下载 官网地址:https://www.python.org/downloads/source/ 我下载的是最新的3.6.2rc版本 # cd /opt/ wget https://www.pyt ...

  3. CentOS下安装Python3.4

    系统环境:CentOS 7.2 CentOS7安装Python3.4 ,让Python2和3共存 编译需要的一些包: yum -y groupinstall "Development too ...

  4. CentOS下安装python3.x版本

    现在python都到了3.x版本,但是centos中自带的python仍然是2.7版本的,所以想把python换成3.x版本的. 但是这个地方有个坑,你要是直接编译安装了python3.x之后,估计你 ...

  5. CentOS下安装python3环境及pypy环境

    安装前基础环境 1. win7虚拟机CentOS7.6系统 2. 网络环境通过NAT方式 3. 已经配置到yum仓库并系统自带有python2.7 安装前准备 1. python3.6.5源码包:ht ...

  6. 关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

    3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y#make install若在安装前移除了/usr/bin ...

  7. 【转载】关于在centos下安装python3.7.0以上版本时报错ModuleNotFoundError: No module named '_ctypes'的解决办法

    3.7版本需要一个新的包libffi-devel,安装此包之后再次进行编译安装即可. #yum install libffi-devel -y #make install 原文:https://blo ...

  8. centos 下安装python3.6.2

    具体详情: http://www.cnblogs.com/vurtne-lu/p/7068521.html

  9. CentOS系统下安装python3+Django

    转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...

随机推荐

  1. 回调函数ros::spin()与ros::spinOnce()

    ros::spin() 这句话的意思是循环且监听反馈函数(callback).循环就是指程序运行到这里,就会一直在这里循环了.监听反馈函数的意思是,如果这个节点有callback函数,那写一句ros: ...

  2. P1341 无序字母对

    题目描述 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒).请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现. 输入输出格式 输入格式: 第一行输入一 ...

  3. 蓝桥杯 历届试题 约数倍数选卡片 (经典数论+DFS)

    闲暇时,福尔摩斯和华生玩一个游戏: 在N张卡片上写有N个整数.两人轮流拿走一张卡片.要求下一个人拿的数字一定是前一个人拿的数字的约数或倍数.例如,某次福尔摩斯拿走的卡片上写着数字“6”,则接下来华生可 ...

  4. HDU 2767 Proving Equivalences(至少增加多少条边使得有向图变成强连通图)

    Proving Equivalences Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  5. A Theoretical Analysis of Feature Pooling in Visual Recognition

    这篇是10年ICML的论文,但是它是从原理上来分析池化的原因,因为池化的好坏的确会影响到结果,比如有除了最大池化和均值池化,还有随机池化等等,在eccv14中海油在顶层加个空间金字塔池化的方法.可谓多 ...

  6. iOS进阶学习笔记

    熟练掌握C/C++/Objective-C/Swift语言: 熟悉Cocoa Touch(Foundation,UIKit).Objective-C中block,gcd,NSOperation等: 熟 ...

  7. [Noi2014]购票 BZOJ3672 点分治+斜率优化+CDQ分治

    Description  今年夏天,NOI在SZ市迎来了她30周岁的生日.来自全国 n 个城市的OIer们都会从各地出发,到SZ市参加这次盛会.全国的城市构成了一棵以SZ市为根的有根树,每个城市与它的 ...

  8. SharePoint2016配置工作流开发环境

    1,下载Web PlatForm5.0  地址:https://www.microsoft.com/web/downloads/platform.aspx 2,保证开发环境能连网,安装Web Plat ...

  9. 20155301 《网络攻防》 Exp5 MSF基础应用

    20155301 <网络攻防> Exp5 MSF基础应用 基础问题 1.用自己的话解释什么是exploit,payload,encode 答:exploit就是利用一些工具的,用来收集目标 ...

  10. Luogu P1484 种树

    这道题目还是比较简单的 首先题目的意思就让我们很轻易地想到DP 我们设f[i][j]表示前i个坑中种j棵树的最大利益,则有: f[i][j]=max(f[i-1][j],f[i-2][j-1]+a[i ...