如何在Ubuntu 22.04上安装Python 3.6

26

我需要安装这个特定的Python版本来准备开发环境,因为我正在维护一个基于Python 3.6.9 的多个库的系统。 我最近在笔记本电脑上安装了Ubuntu 22.04,但是尝试安装这个Python版本时没有成功。

我尝试过通过添加deadsneak存储库后使用apt-get安装,但是这个Python版本不可用。

我还尝试过从源代码进行编译安装,但是它没有起作用。 运行sudo make altinstall命令时出现错误:

Segmentation fault (core dumped)
make: *** [Makefile:1112: altinstall] Erro 139
3个回答

75

我曾经遇到过同样的问题,通过在运行./configure时添加一些额外的标志来解决了它。

这是我的步骤:

第一步 - 先决条件

sudo apt-get install -y make build-essential 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 \
libgdbm-dev libnss3-dev libedit-dev libc6-dev

步骤2 - 下载Python 3.6

wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz

tar -xzf Python-3.6.15.tgz

第三步 - 编译 Python 源代码

cd Python-3.6.15
./configure --enable-optimizations  -with-lto  --with-pydebug
make -j 8  # adjust for number of your CPU cores
sudo make altinstall

第四步 - 检查Python版本

python3.6 -V

1
这个像魔法一样好用。谢谢! - Danilo Santos
5
非常感谢!这帮了我大忙,我也遇到了同样的问题!如果你有多个CPU核心和足够的内存,运行 make -j 8 altinstall 命令将会使用8个核心来编译。 - peschü
1
如此有用的答案。帮助了我。 - George Udosen
1
天啊,你救了我的一命!我对你的答案做出了一些修改,同时也感谢@peschü! - spacediver
3
仅供参考,这大约需要15-30分钟——没有准确计时,期间去喝了咖啡——在Intel Core i7-6700HQ上完成。 - Herbert
显示剩余5条评论

2
截至2023年8月2日,如果有人仍然遇到“分段错误(核心已转储)”的问题。这是对我有效的解决方案。感谢Issue45700 - https://bugs.python.org/issue45700
Ubuntu 22.04自带gcc 11。因此,让我们安装gcc-10并使用它来编译Python。
以下是实施Issue45700中提到的Workaround1的步骤 -
apt-get install gcc-10 -y
< Download and extract python >
CC="gcc-10" ./configure
< Install python using make >

你可以使用https://dev59.com/kVEG5IYBdhLWcg3wJ1Ny#72135545中提到的附加标志。

对我来说,gcc-9可以工作,你给了我一个修复的思路。 - Yuri R

1
如果您需要使用pyenv进行安装,可以尝试这个:
$ sudo apt install clang -y
$ CC=clang pyenv install 3.6.9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接