python3.6和pip3:Ubuntu下安装升级与踩坑之路
本文以Ubuntu16.x系统为例,演示如何安装python3.6和相应环境。安装Python3的机器必须要能访问外网才能进行如下操作!
1. 安装方式
在Ubuntu下安装python有两种方式:
1. 通过apt安装 (推荐)
2. 源码安装
这里推荐第一种方式安装,因为apt安装会帮你做很多善后工作,而源码安装可能需要配置和系统修改的地方比较多。
无论是第一点还是第二点,首先要确认当前系统中Python3是否已安装。
2. 确认本地Python3版本
Python3在本地环境里一般存在三种情况:
1. 系统内置python3.6版本
2. 系统未安装任何python3版本
3. 系统安装了python3版本,但是非3.6版本
第一种情况,则直接可以跳过本文阅读;
第二种情况的话安装也相对简单(不涉及python3旧版本的操作)
第三种是稍微麻烦点且较常见,一般的系统都会预安装python3版本。
首先查看本地是否安装python3版本,输入:
python3 -V
或者
/usr/bin/python3 -V (which python3可以看到python3的实际位置)
如果显示是3.6.x,那么就相当于系统已经安装好了python3.6;
如果显示command not found,则对应第二种情况;
如果显示的是3.5或者其他的python3版本,则对应第三种情况;
下面我们演示最麻烦的情况(第三种):
3. Python3安装(APT方式)
3.1 安装Python软件工具
sudo apt-get install python-software-properties
3.2 添加仓库镜像源
sudo add-apt-repository ppa:fkrull/deadsnakes
如下图,提示Enter的时候,输入回车键

3.3 更新源
sudo apt-get update
3.4 从本地仓库安装python
sudo apt-get install python3.6
3.5 测试python3.6是否被正确安装
1)输入:python3 -V或者/usr/bin/python3 -V

可以看到:python3指向的还是python3的旧版本
2)查看当前的python3的软连接

3.6 修改python3默认版本
1)查看python3.6的位置
输入whereis python,可以看到python3.6的位置(一般都在/usr/bin目录)

2)修改软连接
#删除原来的软连接
rm -rf /usr/bin/python3 #建立新的软连接
ln -s /usr/bin/python3.6m /usr/bin/python3 #重新测试python3版本
输入python3 -V
如图所示,显示Python 3.6.2,安装成功!

3.7 安装python3.6-dev包
#用pip安装很多python的package都会依赖python-dev包
sudo apt install -y python3.6-dev
3.8 pip3安装
#安装pip3
sudo apt install -y python3-pip #查看pip3版本
pip3 -V

如图所示,pip3安装成功,且安装包会放到python3.6的dist-packages下面。
4. Python3安装(源码方式)
4.1 地址说明
源码包下载地址:https://www.python.org/downloads/release/python-368/ (其中368指的就是3.6.8版本,版本以此内推)

4.2 更新相关依赖lib和软件
#更新源
sudo apt update #安装相关软件包
sudo apt-get install -y gcc make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
4.3 下载Python源码包(linux版本)
#下载Python包(3.6.8可以替换成你想要的具体版本号),wget如果没有就用sudo yum install -y wget安装
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz #解压缩Python3压缩包
tar -xvf Python-3.6..tar.xz #进入对应的目录
cd Python-3.6./
4.4 编译Python3.6.8
#配置和检查环境,生产Makefile,指的安装到/usr/local/python3
./configure --enable-optimizations --prefix=/usr/local/python3 #编译
sudo make #安装
sudo make install
4.5 测试python3.6是否被正确安装
1)输入:python3 -V或者/usr/bin/python3 -V

版本不对,同样指向了旧的Python3.5
2)修改软连接
#删除软连接
rm -rf /usr/bin/python3 #重新生成软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 #重新测试python3版本
输入python3 -V

最终显示Python 3.6.8,安装成功!
4.6 修改默认pip3
1) 输入pip3 -V,报错(因为我们把python3指向了/usr/local/python3/bin/python3)

2) 修改pip3指向
#删除原来的pip3
rm -rf /usr/bin/pip3 #建立新的pip3软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 #再次输入pip3 -V,版本显示正确了
pip3 -V

3)测试pip3命令:pip3 install,报错:Command '('lsb_release', '-a')' returned non-zero exit status 1

4)修复lsb_release命令
a) 先查找lsb_release命令:which lsb_release

b) 修改文件内容,python解释器改成python3.6

c) 再次尝试安装一个python包:pip3 install locust,安装成功!
5. pip加速
1. 创建pip.conf文件
sudo mkdir ~/.pip
sudo touch ~/.pip/pip.conf
2. 修改pip.conf内容
输入vim ~/.pip/pip.conf,添加以下内容:
[global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host=mirrors.aliyun.com
至此,你已经学会了在Ubuntu下用两种方式来搭建python3,并可以配置pip3国内源来快速安装python3相关的lib库。
博主:测试生财
座右铭:通过测试生涯完成原始积累,通过投资奔向财务自由
csdn:https://blog.csdn.net/ccgshigao
python3.6和pip3:Ubuntu下安装升级与踩坑之路的更多相关文章
- ubuntu下安装/升级软件
参考博客:https://blog.csdn.net/yjk13703623757/article/details/78945576 1.查看软件所有来源 ①.使用apt-cache madison列 ...
- Linux下安装opencv(踩坑记录帖)
1.首先安装依赖项:sudo apt install build-essential sudo apt install build-essentialsudo apt install cmake gi ...
- dell笔记本 win10 下安装 ubuntu16.04 踩坑记录
硬件配置情况: dell笔记本-灵越-5577 —— I5七代(带有集显),8G内存条DDR4,GTX1050,128G固态硬盘,1T机械硬盘. 固态硬盘划分为3部分,100GB给win10的C盘,1 ...
- 记录一下安装 mysql 的踩坑之路
坑点: 1.旧的mysql没有删除干净.在安装mysql的时候,没有注意到,在输入 “mysqld install” 指令时跳出来 exits,存在于另一个文件夹之中,这影响了后来的很多操作,包括ro ...
- Ubuntu下安装、激活并配置Pycharm
Ubuntu下安装.激活并配置Pycharm 最近在学习Python这门语言,到了需要Python编译器学习的阶段,通过网上了解各个Python编译器的优缺点,最后选择了pycharm作为Python ...
- ubuntu下安装rpm 文件
正想着如何把rpm package 安装到ubuntu上, 发现了这篇文章,转载一下 Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb. sudo a ...
- [mongodb-10gen]ubuntu下安装方法
由于自己老是不死心,所以还是继续在UBUNTU下开始我的GOLANG,今天发现服务源很快一下子就把GO的源代码从GoogleProject上给hg回来了,所以今天才查了一下在UBUNTU下安装Mong ...
- ubuntu下安装pandas出现 compile failed with error code 1 in /tmp/pip_build_hadoop/pandas
都是用pip装的,是不是应该用apt-get 装的呀 ubuntu下安装pandas (出现 compile failed with error code 1 in /tmp/pip_build_ha ...
- ubuntu 下安装eclipse &java环境配置
前面有一篇的博客写的是ubuntu下安装eclipse和java环境的配置.当时是安装网上的攻略进行的 ,当然也是能够成功的. 近期把那台电脑送人了 ,仅仅好在自己的这台电脑上又一次安装一次了 ,唯一 ...
随机推荐
- CentOS中配置NFS
https://www.cnblogs.com/yeungchie/ NFS是Network File System的缩写,即网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间 ...
- Blob分析之board _components.hdev
*用立体方法分割板子组件的示例程序*Application program to illustrate the segmentation* of board _components.hdev wit ...
- bzoj 1195 [HNOI2006]最短母串 bfs 状压 最短路 AC自动机
LINK:最短母串 求母串的问题.不适合SAM. 可以先简化问题 考虑给出的n个字符串不存在包含关系. 那么 那么存在的情况 只可能有 两个字符串拼接起来能表示另外一个字符串 或者某个字符串的后缀可以 ...
- luogu4443 coci 2017 Dajave
题目 给出一个长度为2^M的排列,元素分别是0, 1, 2, ... , 2^M -1. 选择其中某个非空连续子序列,然后允许交换这个排列中某两个不同的数,然后使得这个连续子序列的所有数的按位异或(b ...
- Raft协议理解
raft协议最关键的部分是领导选举和日志复制 日志复制 日志匹配原则:如果两个日志在相同索引位置的entry的任期号相同,那么这两个日志从头到这个索引位置之前完全相同. 日志匹配原则可以解释为如下两条 ...
- 【BZOJ2724】蒲公英 题解(分块+区间众数)
题目链接 题目大意:给定一段长度为$n$的序列和$m$次询问,每次询问区间$[l,r]$内的最小的众数.$n\leq 40000,a_i\leq 10^9$ --------------------- ...
- 解放双手!用 Python 控制你的鼠标和键盘
在工作中难免遇到需要在电脑上做一些重复的点击或者提交表单等操作,如果能通过 Python 预先写好相关的操作指令,让它帮你操作,然后你自己去刷网页打游戏,岂不是很爽?] 很多人学习python,不知道 ...
- jQuery 多库共存
多库共存 问题概述 jQuery使用$作为标识符,随着jQuery的流行,其他js的库也会用$作为标识符,这样就会引起冲突 需要一个解决方案 让jQuery和其他的JS ...
- 内网 Maven 编译
内网 Maven 编译 有个特殊的需求,在不联网的情况下编译 Java 项目. 想到两种方案: 搭建 Nexus 私有镜像仓库. 直接把依赖 jar包 放在编译机的 maven 本地库中. 步骤简述 ...
- Catalina 默认使用zsh了,你可习惯
zsh 成为默认 shell 淘汰掉我的旧MBP换新后,欢天喜地打开Terminal,感觉有点不对,提示符什么时候变成了 %. 查询了一些资料发现,原来在2019年WWDC期间,苹果推出了macOS ...