详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本

yipeiwu_com5年前Python基础

0.配置依赖环境,如果不进行这步可能会出现一些问题

中间可能有多余空格,去除下再运行,一般都能安装成功,如果不能可以先更新下sudo apt-get update
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev 
libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev 
liblzma-dev libffi-dev libc6-dev

1.直接去官网下载你想的版本

2.解压下载的包,在这之前你可以先mv你的包到指定位置解压

jianjiacheng@J-computer:~$ tar zxvf Python-3.7.1

3.进入解压目录

jianjiacheng@J-computer:~$ cd Python-3.7.1/

4.建立安装的目录

sudo mkdir -p /usr/local/python3

5.编译安装

执行这步是后面最好加上 --enable-optimizations 会自动安装pip3及优化配置
# ./configure --prefix=/usr/local/python3 --enable-optimizations
# make
# sudo make install

6.删除软链接

先执行查看版本,如果有则证明软链接已存在,需要先删去以前的再重新建立
//这里表明我已有python3的软链接而没有pip3的软链接所以需要删除python3的软链接重新建立
jianjiacheng@J-computer:~/Python-3.7.1$ python3 -V
Python 3.5.2

jianjiacheng@J-computer:~$ pip3 -V
bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

7.建立新的指向python3.7的软链接

#添加python3的软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

8.检测版本

jianjiacheng@J-computer:~$ python3 -V
Python 3.7.1
jianjiacheng@J-computer:~$ pip3 -V
pip 10.0.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3处理含有中文的url方法

python3处理含有中文的url方法

如下所示: from urllib.parse import quote import string url = r'http://www.xxxx.com/name=中文' ur...

python实现矩阵和array数组之间的转换

前言: array数组要转换成矩阵(matrix)数据类型才能进行一系列的线性运算。matrix类型也有时候要转换成array数组。 代码: 1.array转matrix:用mat()...

基于MTCNN/TensorFlow实现人脸检测

基于MTCNN/TensorFlow实现人脸检测

人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等。对于opencv的人脸检测方法,有点是简单,快速;存在的问题是人脸检测效果不好。正面/垂直/光线...

Python 3.6 读取并操作文件内容的实例

所使用python环境为最新的3.6版本 Python中几种对文件的操作方法: 将A文件复制到B文件中去(保持原来格式) 读取文件中的内容,返回List列表 (加载本地词典库) 读取文件...

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。 每次实例化一个对象python都会分配一个固定大小内存的字典来...