解决ubuntu18.04中python兼容以及pip兼容问题
转载链接:https://www.cnblogs.com/lczmx/p/12428041.html
安装Python3.8
目前Ubuntu自带的Python版本为3.6,但官方都出3.8了,能不试一下新的功能吗?
第一步:下载Python3.8的源码
点击这里打开网址
选择下载tgz包(“Download Gzipped source tarball ”),解压
第二步:更新包列表并安装构建Python源所需的包
输入这三个命令
sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget
sudo apt-get install make
第三步:安装Python3.8
cd 到Python解压目录,然后输入以下命令
sudo ./configure --enable-optimizations
sudo make altinstall
到这里Python3.8已经安装完成,但是只能输入python3.8打开,这里等到下面一并解决
安装pip和pip3
直接输入,安装
sudo apt install python-pip
sudo apt install python3-pip
此时,ubuntu给我安装了Python2.7、pip、pip2、pip3
我的想法是:Python2.7、Python3.6、Python3.8之间可以随便切换,而且pip和pip3会动态指向我切换的Python版本上(pip2就让他指向Python2.7吧)
目前网上已经有很好的教程了,使用update-alternatives 来为整个系统更改Python 版本的方法更好。
which python2.7
which python3.6
which python3.8
/usr/bin/python2.7/usr/bin/python3.6/usr/local/bin/python3.8
接下来就是重点了,使用update-alternatives命令:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.8 3
这里的最后一个参数是优先级,数越大越高,倒数第二个参数是各个版本Python所在位置,即我们上一步记录的东西
sudo update-alternatives --config python
选择并切换Python版本,至此,Python版本兼容性问题已经解决
注:一定要备份pip文件,包括pip、pip2、pip3、pip3.8(Python3.8的)
#!/usr/bin/python
# GENERATED BY DEBIANimport sys# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
if sys.version_info.major == 3 and sys.version_info.minor == 8:from pip import __main__if __name__ == '__main__':sys.exit(__main__._main())
else:from pip import mainif __name__ == '__main__':sys.exit(main())
pip2
#!/usr/bin/python2.7
# GENERATED BY DEBIANimport sys# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':sys.exit(main())
pip3和pip3.8
#!/usr/bin/python
# -*- coding:utf-8 -*-
# GENERATED BY DEBIANimport sys
import os# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
if sys.version_info.major == 3:if sys.version_info.minor == 8:from pip import __main__if __name__ == '__main__':sys.exit(__main__._main())else:from pip import mainif __name__ == '__main__':sys.exit(main())
else:msg = "当前Python版本为Python%s.%s,不能使用pip3!" % (sys.version_info.major, sys.version_info.minor)os.system("echo %s" % msg)os.system("""echo "请使用'update-alternatives --config python' 切换Python版本" """)
解决ubuntu18.04中python兼容以及pip兼容问题相关推荐
- 解决Ubuntu18.04中启动kworker等占用系统cpu过高问题
提要 这个问题困扰我好久,真的很烦人,一般网上的解决方式也不是特别好用.后来说一下我的解决方案 正文 刚装的Ubuntu18.04出现硬盘短时间内被占满,通过查询可以看出在/var/log/下出现两个 ...
- 解决在Ubuntu18.04中firefox打开网页出现建立安全失败并提示PR_END_OF_FILE_ERROR
解决在Ubuntu18.04中firefox打开网页出现建立安全失败并提示PR_END_OF_FILE_ERROR 解决办法 打开设置 找到网络 打开网络代理栏中的最右边的按钮 选择自动
- 在Ubuntu18.04中安装wps并且解决文字字体缺失的问题
在Ubuntu18.04中安装wps并且解决文字字体缺失的问题 在ubuntu中安装wps对于很多人来说会比较的简单,但是对于像我一样刚刚接触ubuntu的计算机小白来说,也并非很简单,安装的过程中也 ...
- 在Ubuntu18.04中安装ROS IDE RoboWare Studio 和Visual Studio Code
安装ROS IDE 前言 一.安装RoboWare Studio 二.安装Visual Studio Code 参考文献 前言 一款好的开发工具可以是开发效率提升,ROS官方推荐了常用的ROS开发环境 ...
- Ubuntu18.04中搭建事件相机模拟器rpg-esim环境
Ubuntu18.04中搭建事件相机模拟器rpg-esim环境 esim 是 ETH 开发的一款的模拟事件相机工作原理的仿真器,其是基于ROS环境的,在安装esim环境之前,需要先安装ROS.在官方给 ...
- ubuntu18.04 创建python虚拟环境(workon:未找到命令)
ubuntu18.04 创建python虚拟环境 1. 安装软件包 sudo pip3 install virtualenv # 安装虚拟环境sudo pip3 install virtualenvw ...
- Ubuntu18.04中Anaconda启动 Navigator
Ubuntu18.04中Anaconda启动 Navigator 方法一: source ~/anaconda3/bin/activate root anaconda-navigator 1 2 方法 ...
- 解决ubuntu18.04环境下无法调整分辨率的问题
解决ubuntu18.04环境下无法调整分辨率的问题 问题来源 一般ubuntu环境下不能调整分辨率主要是因为显卡驱动出问题,所以本文通过执行显卡驱动相关的操作解决分辨率的问题. 解决问题 如果电脑上 ...
- 解决Ubuntu18.04不能用Xshell使用root用户登录
今天使用Xshell6连接Ubuntu18.04时,连接普通用户可以,但是连接root用户不行 我用了网上很多办法不行~~~~~ 然后看到这篇文章了 https://www.cnblogs.com/a ...
最新文章
- vue-cli脚手架
- Java 项目UML反向工程转化工具
- Nginx实现负载均衡时常用的分配服务器策略
- jMeter debug postprocessor的用法
- java类似sizeof_如何用Java编写类似C的Sizeof函数
- 通讯模块板载天线设计方法
- PAT乙级 1038 统计同成绩学生(map的解法)
- 二甲医院云服务器,医院用上云计算 病情上传到云端可行否?
- 程序编号以后计算机能够查出,华威大学研究人员开发出计算机程序,可发现量子计算机中的“泄漏”...
- C语言断言assert详解
- Linux网络编程之epoll模型
- GEE主成分分析全解析
- 【知识图谱】实践篇——基于医疗知识图谱的问答系统实践(Part5-完结):信息检索与结果组装
- elasticsearch 单节点状态yellow解决方法
- return function和return function()的区别
- Scala+Hadoop+Spark开发
- CAD高版本转低版本的方法有哪些?你一定用的到哦
- EventBus的介绍
- font-awesome图标显示问题解决方案
- telnet连接上后自动断开_用于确定网络端口连接到办公室端口工具介绍
热门文章
- P4: Programming Protocol-Independent Packet Processors
- Javascript之ES7详解
- 国家哀悼日将网站全部变成灰色的代码
- 你可能不需要 jQuery!使用原生 JavaScript 进行开发
- Ural_1030. Titanic
- cisco engine memory
- java 虚拟机内存管理_java虚拟机内存管理
- docker run命令_CVE-2019-14271:Docker cp命令漏洞分析
- 信息学奥赛一本通 1307:【例1.3】高精度乘法 | 1174:大整数乘法 | OpenJudge NOI 1.13 09:大整数乘法
- 信息奥赛一本通(1310:【例2.2】车厢重组)