Ubuntu安装Python3.6并切换到3.6版本「建议收藏」

Ubuntu安装Python3.6并切换到3.6版本「建议收藏」在此记录我在Ubuntu16.04系统上安装Python3.6并从Python2.7版本切换到3.6版本的过程。

大家好,又见面了,我是你们的朋友全栈君。

前言

在此记录我在Ubuntu 16.04 系统上安装Python3.6并从Python 2.7 版本切换到 3.6 版本的过程。

备注: 2022年4月15日14:39:40 基于评论区出现的问题,请不要轻易尝试博客方案,仅供参考。(因为时间过去太久了,我也忘记具体细节了。)建议用conda切换python环境会比较香。

补充

创建时间:2019年02月19日 00:59:21
修改时间:2019年9月4日16:21:40

在Ubuntu 14.04 上安装python3.6以及对应的pip,只需要如下指令:

# 先update一下
sudo apt-get update
sudo apt-get install software-properties-common python-software-properties -y 

# 这一句update好像不是必要的。
sudo apt-get update
sudo add-apt-repository ppa:jonathonf/python-3.6 -y

#这里必须update,不然无法安装python3.6
sudo apt-get update
sudo apt-get install python3.6 -y 

#没有curl的话,就install一下
sudo apt-get install curl -y 

# 安装pip
curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6

这样既可,善。


1 了解自己系统上都有哪些Python版本

我的系统是 阿里云的Ubuntu 16.04 云服务器。

使用Python --version查询当前的Python版本,如下,Python当前版本为2.7:

dale@deheng:~$ python –version
Python 2.7.6

使用ls /usr/local/lib/ 查看本机上有哪些可用Python版本,如下,当前本地可用Python版本为2.7和3.4:

dale@deheng:~$ ls /usr/local/lib/
perl python2.7 python3.4

2 安装Python 3.6

sudo add-apt-repository ppa:jonathonf/python-3.6   #这个指令是真的方便。记住要按一下Enter键确认。
sudo apt-get update 
sudo apt-get install python3.6

这时候输入:ls /usr/local/lib/ 会发现出现了python3.6文件夹。

dale@deheng:~$ ls /usr/local/lib/
perl python2.7 python3.4 python3.6

参考[1].

3 将Python版本从2.7切换到3.6

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 3

#update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本
# 上面三行指令最后的数字 1 2 3 分别代表优先级。1是最高。所以等下 config的时候,会发现默认版本是2.7(因为它的优先级设为了1).

而后输入sudo update-alternatives --config python(这是一个切换Python版本的指令),会出现如下选项:

dale@deheng:~$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.6 3 dale@deheng:~$ sudo update-alternatives
–config python There are 4 choices for the alternative python (providing /usr/bin/python).>
Selection Path Priority Status
————————————————————

0 /usr/bin/python3.6 3 auto mode

  • 1 /usr/bin/python2.7 1 manual mode
    2 /usr/bin/python3.4 2 manual mode
    3 /usr/bin/python3.6 3 manual mode
    4 /usr/local/lib/python2.7 1 manual mode

Press enter to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/python3.6 to provide
/usr/bin/python (python) in manual mode

如上,通过输入Python3.6对应的数字3,成功将Python版本设置成3.6。在此查看如下:

dale@deheng:~$ python
–version Python 3.6.3

参考[3]。

4 中间遇到的问题

4.1 问题一

第2节 运行sudo add-apt-repository ppa:jonathonf/python-3.6 的时候,如果出现add-apt-repository: command not found的情况,请使用如下命令:

sudo apt-get install software-properties-common python-software-properties 
#注释:即安装software-properties-common 和 python-software-properties 即可

参考[2]。

4.2 问题二

第3节 的操作中,遇到了一个问题,先描述、记录如下:

问题场景:
在第3节中,我先输入了sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1,然后输入python --version的时候,我发现我Python没了,提示要下载。

我不以为然,没去管这个问题,开始下载3.6,运行sudo add-apt-repository ppa:jonathonf/python-3.6,提示找不到add-apt-repository 这个command,然后我又sudo apt-get install software-properties-common python-software-properties,显示本机上有这两个软件了,但是报了如下错误:

dale@deheng:~$ sudo apt-get install software-properties-common
python-software-properties Reading package lists… Done Building
dependency tree Reading state information… Done
software-properties-common is already the newest version.
python-software-properties is already the newest version. 0 upgraded,
0 newly installed, 0 to remove and 173 not upgraded. 2 not fully
installed or removed. After this operation, 0 B of additional disk
space will be used. Do you want to continue? [Y/n] Y Setting up
python-pycurl (7.19.3-0ubuntu3) …
/var/lib/dpkg/info/python-pycurl.postinst: 6:
/var/lib/dpkg/info/python-pycurl.postinst: pycompile: Permission
denied dpkg: error processing package python-pycurl (–configure):
subprocess installed post-installation script returned error exit status 126 dpkg: dependency problems prevent configuration of python-software-properties: python-software-properties depends on python-pycurl; however: Package python-pycurl is not configured yet.

dpkg: error processing package python-software-properties
(–configure): dependency problems – leaving unconfigured Errors were encountered while processing: python-pycurl
python-software-properties E: Sub-process /usr/bin/dpkg returned an error code (1)
在这里插入图片描述

解决方案: 想了很久,发现是自己的sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1导致当前Python版本 不见了,这样的话等于Ubuntu的很多功能就用不了了。我随后利用本机已有的3.4和2.7版本,进行配置,以找回Python版本:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 2
sudo update-alternatives --config python

然后python --version,发现Python版本回归了。这时候又可以正常下载Python3.6了,这个错误也没了。

总结

写博客还是耗时间啊。

参考文献

主要:
[1] Ubuntu16.04怎样安装Python3.6 https://www.cnblogs.com/yjlch1016/p/8641910.html
[2] Ubuntu的add-apt-repository: command not found https://blog.csdn.net/dogfish/article/details/67150703
[3] Ubuntu16.04怎样安装Python3.6 https://www.cnblogs.com/yjlch1016/p/8641910.html

次要:
[4] Ubuntu环境下python2和python3切换 https://blog.csdn.net/qq_18815817/article/details/78874808
[5] Ubuntu下Python2与Python3的共存配置 https://blog.csdn.net/weixin_40293491/article/details/81183491
[6] 在Ubuntu中通过update-alternatives切换软件版本 https://persevere.iteye.com/blog/1479524

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152423.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python画爱心代码大全_python爱心代码制作

    python画爱心代码大全_python爱心代码制作程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~准备工具:python3画爱心实施步骤:打开编译器,写上code,代码如下:fromturtleimport*pensize(1)pencolor(‘red’)fillcolor(‘pink’)speed(5)up()goto(-30,100)down()begin_f…

    2025年9月29日
    3
  • pychram 激活码【中文破解版】

    (pychram 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/ide…

    2022年3月22日
    46
  • kl1083_奥什科什M1083

    kl1083_奥什科什M1083Windy 定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数。Windy 想知道,在 A 和 B 之间,包括 A 和 B,总共有多少个 Windy 数?输入格式共一行,包含两个整数 A 和 B。输出格式输出一个整数,表示答案。数据范围1≤A≤B≤2×109输入样例1:1 10输出样例1:9输入样例2:25 50输出样例2:20#include<bits/stdc++.h>using namespace std;

    2022年8月10日
    6
  • 长轮询的使用实现_python 轮询

    长轮询的使用实现_python 轮询轮询(Polling):是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询,轮询的结果可能是服务器端有新的更新过来,也可能什么也没有,只是返回个空的信息。不管结果如何,客户端处理完后到下一个定时时间点将继续下一轮的轮询。长轮询(LongPolling):长轮询的服务其客户端是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到…

    2022年10月14日
    2
  • 风讯.NET与NETCMS的选择—开源.NET内容管理系统

    风讯.NET与NETCMS的选择—开源.NET内容管理系统最近想要学习做一个网站,本来在某公司实习的时候,boss就要求快速的建立一个非盈利性的门户站点,当时用的是动易的SiteFactory3.0版本,感觉用起来也是很不错的,尤其是后台的可视化编缉做得是相当的到位,内容的采集部分也是很好使,初学者只要是不太笨的基本上就可以快速建立起一个功能比较好的站点了,不过令人没想到的是,建立好站点好以后才真的是恶梦的开始,boss提出要求,对它进行二次的开发,基…

    2022年9月30日
    2
  • mybatiscodehelperpro2.9.4-183-204在线激活码(JetBrains全家桶)2022.02.05

    (mybatiscodehelperpro2.9.4-183-204在线激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~76…

    2022年4月1日
    348

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号