每次新的系统安装各个环境都得操作都得搜索一遍,不如自己写一篇找起来方便些。
由于apt的版本总是比较旧一些,所以我们需要自己编译源码进行安装,这样也比较方便管控版本。
1. Prerequisite 安装编译环境
一定注意要执行一遍命令,之前以为电脑中安装了环境,导致后面编译出错,踩了不少坑
1 | apt-get install make build-essential zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev |
2. Download source package 下载源码包
我安装的是3.11.3,从python官网找到的下载链接,使用wget下载
1 | wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz |
3. Decompress 解压
解压到默认文件夹即可,这个文件夹最后会删除
1 | tar -xzf Python-3.11.3.tgz |
4. Configuration 配置
如果不需要做额外配置,直接执行configure文件即可,可以用--prefix
指定安装目录,默认路径是/usr/local/lib/
1 | ./configure |
想要学习更多参数,可以用./configure --help
了解更多,安装说明在README.rst
文件中。
5. Make & Install Make与安装
首先需要make生成预安装的内容
1 | make |
然后按照官方说明是需要进行安装测试,不过网上大部分都直接install了
1 | make test |
测试通过后,就可以进行正式安装了
1 | sudo make install |
如果没有报错,那么输入python3.11
就可以运行了。
如果遇到任何报错,请首先执行以下命令,安装相关依赖,并从第四步configuration开始重新安装。
1 | make clean |
6. Configure default version 配置默认版本
如果电脑之前没有安装其他python版本,直接输入python3
应该是可以直接运行的,但像我的ubuntu默认有一个python3.10,会发现默认的版本仍然是python3.10,我们首先可以看下python3的配置
1 | ➜ ~ which python3 |
应该是这个软连接指向了旧的python3.10,那么我们删除这个软链重新生成一个就可以了
1 | ➜ ~ sudo rm /usr/bin/python3 |
同时也检查以下pip是否正常
1 | ➜ ~ pip3 --version |
安装后导致的一些问题
apt update报错
ModuleNotFoundError: No module named ‘apt_pkg’
更新了python后运行apt update
出现了ModuleNotFoundError: No module named 'apt_pkg'
,根据网上解答,重新安装python3-apt
可以解决问题
1 | sudo apt-get install --reinstall python3-apt |
如果还是不行,可以尝试卸载再安装,我的是卸载报错了,但是再执行了重新安装命令就成功了。