相关链接:
因为ubuntu 18.04的原生自带的python 是3.6,实际项目时要求版本需要更高,这就必须的得升级
sudo apt-get update
sudo apt-get upgrade
一般来说选择稍微稳定一点的版本,可以查看对应的支持列表:
官网下载源码包(寻找你需要的版本): Python Source Releases
或者直接命令行下载源码包:
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
tar -zvxf Python-3.10.0.tgz
cd Python-3.10.0/
./configure --enable-optimizations
make -j 6
sudo make install
安装完成后,输入python3.10,查看是否安装成功
python3.10 -V
如果安装成功,会显示python3.10的版本信息
这个就比较简单了,直接使用apt安装即可,但是很可能没反应,因为ubuntu 18.04的源里面没有python3.10的版本,所以建议从源码安装
sudo apt-get install python3.10
卸载python3.10
sudo apt-get remove python3.10
卸载python3.10的依赖包
sudo apt-get autoremove
卸载python3.10的配置文件
sudo rm -rf /usr/local/lib/python3.10
sudo rm -rf /usr/local/bin/python3.10
而后,需要修改python3的命令,跟pip3 的命令,还有就是apt install安装的跟 解压包安装的python路径不一样, apt 是在 /usr/bin/python 而安装包是在 /usr/local/bin/python
查看本地的python
ls /usr/bin/python*
修改 usr/bin/python3
当然以防万一建议先去到对应的目录下查看一下
sudo rm /usr/bin/python3
sudo ln -s /usr/local/bin/python3 /usr/bin/python3
修改 usr/bin/pip3
sudo rm /usr/bin/pip3
sudo ln -s /usr/local/bin/pip3 /usr/bin/pip3
如果你还要改python权重,就使用下面的命令
注意:***update-alternatives: –install 需要 <链接> <名称> <路径> <优先级>*** 数字代表了优先级,数字越大优先级越高优先级>路径>名称>链接>
这里只是给出方法,不建议使用,因为这样会导致系统默认的python3.6被覆盖掉,导致系统命令无法使用python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 2
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.10 1
安装更新后使用过程中大概率会出现各种系统包无法导入的情况
这里给出一些常见的解决办法,当然方法是通用的不局限于 ufw 的问题,像 lsb_release.py 找不到的问题也可以使用类似的方法
~# ufw --help
Traceback (most recent call last):
File "/usr/sbin/ufw", line 26, in <module>
import ufw.frontend
ModuleNotFoundError: No module named 'ufw'
大概率系统中是有ufw的,确认一下,但是是python3.6的,所以需要确认一下
sudo apt-get install ufw
找一下ufw的路径
sudo find /usr/lib/ -name "ufw"
可能的输出如下:
/usr/lib/python3.6/site-packages/ufw
or
/usr/lib/python3/dist-packages/ufw
有了路径后,我们就可以把ufw添加到python3.10的路径下
#参数 -r 表示递归复制,这里ufw是个目录,所以需要加上-r
sudo cp -r /usr/lib/python3/dist-packages/ufw /usr/local/lib/python3.10/
到此就可以正常使用了
–