为什么我无法在Ubuntu 16.04上安装python3.8-dev?

4

这是一个更广泛的问题,涉及到 FlaskApache 2.4 在使用哪个版本的 Python 上出现了问题。但我无法按照找到的任何指南来解决它,因为我需要安装 python3.8-dev,但它不想安装:

apt install python3.8-dev
...
E: Unable to locate package python3.8-dev
E: Couldn't find any package by glob 'python3.8-dev'
E: Couldn't find any package by regex 'python3.8-dev'

我已经完成了:

add-apt-repository ppa:deadsnakes/ppa
apt install software-properties-common
apt update
apt upgrade

所有方法都成功了。然而,到目前为止,没有一种安装 python3.8-dev 成功。

lsb_release -a 的输出结果是 Ubuntu 16.04(Xenial Xerus):

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial

我感觉自己快要疯了。一切都正常运作,但今天突然不行了。 当然,我已经安装了Python 3.8。


1
这个问题应该发布在 askubuntu 上。 - Ryan Haining
安装软件开发所需的工具在StackOverflow上边缘话题。但我同意最好在AskUbuntu上提问,因为这非常特定于Ubuntu。 - Stephen C
嗯...那个问题的答案和你的问题是一样的。所以你可能不需要问这个问题。 (只需从“deadsnakes”安装python3.8-dev而不是python3.6-dev)如果不幸(!!)这些说明不起作用,您应该添加您实际执行的详细信息到您的问题中...这样有人就可以帮助您解决问题了。 - Stephen C
很遗憾,unlikely (!!) 这种方式行不通。正如我在问题中已经提到的,我使用了 deadsnakes ppa,但现在我已经更加明确了这一点。但是多次尝试仍然没有成功。出现的错误和之前完全一样,即找不到 Python3.8-dev。 - ch4rl1e97
你尝试过 sudo add-apt-repository ppa:deadsnakes/nightly 吗?根据 https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly/+packages,`python3.8-dev` 包正在构建中。 - Stephen C
显示剩余8条评论
3个回答

3

ppa:deadsnakes已经停用于Ubuntu 16.04(Xenial Xerus)。 请尝试构建自定义的.deb软件包。


我最终弄清楚了。有点可惜的是旧版本没有公开留下来,因为在某个时候确实有一个适用于Xenial的3.8版本是可以工作的,我记得。 - ch4rl1e97
嗨@Aleks,是否有一个.deb包具有与“sudo apt-get install python3.8 python3.8-dev python3.8-distutils python3.8-venv”相同的效果?即它包括dev、disutils和venv软件包? - fatbringer
在我的情况下,它是根据Python的官方发布源代码构建的。您可以在构建开发过程中调整源代码和模块。@fatbringer - Aleks
1
嗨 -- deadsnakes在这里 -- 我在PPA上的空间有限,而且在Ubuntu标记它们已经到了生命周期末期后,我就不能更新软件包了。所以不幸的是,我必须删除它们,这样我才能支持更新的Python版本和新的操作系统发布版(并消除“我可以得到(已停止支持的版本)的最新补丁版本吗?谢谢”等问题)。 - anthony sottile
@anthonysottile 哦,嘿,蛇本身!虽然这很不幸,但它最终促使我只是烧掉我的旧服务器并重新开始。我想这会阻止人们抱怨(除了我显然!)如果您将此发布为答案,我可以将其标记为答案并解决这个问题 :) - ch4rl1e97

-1

目前最简单的方法是使用pyenv。这里有一个很好的指南:

如何在Ubuntu 18.04上安装Pyenv

如果“pyenv global”命令没有更改默认版本,请运行以下命令:

eval "$(pyenv init --path)"

1
啊,但如果没有安装包,我们无法创建 Python 3.8 虚拟环境。现在甚至无法安装该包! - fatbringer
PYENV,不是venv :)。Pyenv是一个版本管理器,允许您安装所需的版本。 - itsk
pyenv的目标是什么?为什么选择pyenv?其操作理论是什么?您能详细说明一下吗(不必过于冗长)?(但请勿包含“编辑:”,“更新:”或类似内容-答案应该看起来像今天编写的。) - Peter Mortensen

-1
看起来deadsnakes仓库不再提供python3.8。当我尝试在Ubuntu 16.04中添加该仓库时,我看到的就是这样。

支持的Ubuntu和Python版本

  • Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.11
  • Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11
  • 注意:deadsnakes不提供Python2.7(所有版本),Python 3.8(focal),Python 3.10(jammy)的软件包,因为上游的Ubuntu已经提供了这些软件包。

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