0%

Install Python on Ubuntu

每次新的系统安装各个环境都得操作都得搜索一遍,不如自己写一篇找起来方便些。

由于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
2
tar -xzf Python-3.11.3.tgz
cd Python-3.11.3

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
2
➜  ~ which python3
/usr/bin/python3

应该是这个软连接指向了旧的python3.10,那么我们删除这个软链重新生成一个就可以了

1
2
3
4
➜  ~ sudo rm /usr/bin/python3
➜ ~ ln -s /usr/local/bin/python3.11 /usr/bin/python3
➜ ~ python3 --version
Python 3.11.3

同时也检查以下pip是否正常

1
2
➜  ~ pip3 --version
pip 22.3.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

安装后导致的一些问题

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

如果还是不行,可以尝试卸载再安装,我的是卸载报错了,但是再执行了重新安装命令就成功了。

参考

Ubuntu安装Python3
Problem with update-manager