Ubuntu16.04安装python3.8.1
这两天买了片ESP32-camera单片机玩玩,根据官方文档安装了Liunx系统(Ubuntu16.04)来实现编译demo。
官方文档只负责告诉你怎么安装环境,没有提到怎么解决问题。
在多次重装虚拟机的帮助下(其实就是复制粘贴一下虚拟机就好,免得重新安装这么麻烦),最终完成编译官方例子
这次记录一下解决过程,以做备忘。
Ubuntu版本: 官方版本16.04
这个版本的Ununtu里面内置了两个Python,一个是2.7.12,一个是3.5.2。
需要安装3.8.1并且修改引用置当前版本。
操作过程
1.首先更新一个python的依赖,不然后面可能会出问题
sudo apt-get install -y zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev
如果你有科学上网的或者下载速度快的话,也可以同时安装下面这些(都是Ubuntu推荐, 非必要安装
)
sudo apt-get install -y make build-essential python-dev 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 python-openssl libice-doc liblzma-doc ncurses-doc readline-doc libsm-doc sqlite3-doc libxcb-doc libxext-doc libxt-doc llvm-3.8-doc python-cryptography-doc python-cryptography-vectors python-enum34-doc python-openssl-doc python-setuptools tcl-doc tcl8.6-doc tk-doc tk8.6-doc
2.分别给两个Python版本安装好pip(上面是给python2.7安装pip,下面是给python3安装pip)
为什么要先更新pip呢?当初本人也是先安装好新版本py再更新pip,但是不尽人意再最后会报错,而且找不到解决办法。因此把更新pip的操作放到前面
sudo apt-get install python-pip
pip install --upgrade pip
sudo apt-get install python3-pip
pip3 install --upgrade pip
安装更新好后,分别输出一下看看版本是否更新好了,更新好的版本都是20以上的,原版本是8.0(忘记看了)
pip2 -V
pip3 -V
3.下载python源码
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz
解压源代码
tar -xvJf Python-3.8.1.tar.xz
进入源代码里面
cd Python-3.8.1/
4.安装python3.8.1
./configure prefix=/usr/local/python3
make && make install
如果这一步有可能会报错,请根据情况解决
- 权限不够,这个就需要root权限执行了(在执行代码后需要输入密码)
sudo -s
- 其他错误(这个错误本人没有遇到,所以给出通用方案。可以执行一下代码,或者执行第一步的“
非必要安装
”代码)
sudo apt-get install -y make python-dev libffi-dev libssl-dev build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
5.修改Ubuntu软连接(配置全局变量)
- 备份一下原来的了路径
sudo -s mv /usr/bin/python /usr/bin/python.bak
- 添加python3.8.1的软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
- 查看一下当前python版本,如果是安装成功的话,输出的就是
Python 3.8.1
python --version
6.重启一下Ubuntu即可
到这里的话,python3.8.1已经安装成功了。老实说,这个算是我看到最好最简洁的一个版本了!!
参考博客:Ubuntu 16.04 amd64 (64bit)(纯净版)
PS:有错误麻烦各位指出来,对于Liunx系统不是很熟悉,都是临时百度出来的结果。感谢