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

yipeiwu_com7年前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判断列表的连续数字范围并分块的方法

情况一:列表中的数字是连续数字(从小到大) from itertools import groupby lst = [1, 2, 3, 5, 6, 7, 8, 11, 12, 13...

Python中字典创建、遍历、添加等实用操作技巧合集

字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快。下面列出字典的常用的用途. 一、字典中常见方法列...

浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

Python2中编码相关的问题很是让人蛋疼,特别是中文字符。 比如本文所述的中文网页GBK编码的诡异问题。 现象 例如:盲录職氓聭聵,其实网页里面正常的应该是会员 分析 接着上面的例子,...

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

一.分散性聚类(kmeans) 算法流程: 1.选择聚类的个数k. 2.任意产生k个聚类,然后确定聚类中心,或者直接生成k个中心。 3.对每个点确定其聚类中心点。 4.再计算其聚类新中心...

Python实现XML文件解析的示例代码

1. XML简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应...