详解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设计】。

相关文章

Python编程之列表操作实例详解【创建、使用、更新、删除】

Python编程之列表操作实例详解【创建、使用、更新、删除】

本文实例讲述了Python列表操作。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 列表类型也是序列式的数据类型, 可以通过下标或者切片操作来访问某一个或者某...

python射线法判断一个点在图形区域内外

用python 实现的代码:判断一个点在图形区域内外,供大家参考,具体内容如下 # -*-encoding:utf-8 -*- # file:class.py # """ 信息...

pandas使用get_dummies进行one-hot编码的方法

pandas使用get_dummies进行one-hot编码的方法

离散特征的编码分为两种情况: 1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码 2、离散特征的取值有大小的意义,比如size:[X...

Python中实例化class的执行顺序示例详解

前言 本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧 Python里对类的实例化时有怎样的顺序 一般来说一个类里面有类变量和...

Python编程中time模块的一些关键用法解析

Python编程中time模块的一些关键用法解析

python中time模块其实不难,就是关系转换有点老记不住,先看下图可以说明几个时间对象的的关系.供参考理解. 黑色细箭头表示输入值,参数 深黄色的粗箭头表示返回值,输出...