Python文档将3.5+描述为一个标准库的一部分,并且编写了多个资源(例如,此页),就好像在最近的Python3安装中ensurepip是可用的一样。然而,作为堆栈溢出中的其他帖子也注意到了,情况似乎并非如此,至少在Ubuntu和Debian中是这样的。现在,我对该如何指导用户安装基于Python的软件感到困惑。我一直在告诉人们使用python3 -m ensurepip,然后是python3 -m pip install ... (在这个例子中),但是最近一位同事发现,毫无疑问,在Ubuntu系统上安装了ensurepip之后,ensurepip并不存在。现在我不知道是否需要写一些关于一般指令的例外情况。更糟糕的是,我不知道如何找出哪个系统有或没有ensurepip。
ensurepip 是否应该作为一个标准库提供给每个3.5+安装?如果没有,我如何找出哪些安装包含它,哪些不包括?
发布于 2020-04-08 21:50:49
事实上,ensurepip应该始终是可用的,因为它是Python标准库的一部分,但据我所知,一些操作系统(如Debian和Ubuntu)分发的Python版本是由多个项目而不是仅仅一个项组成的。因此,根据安装选项的不同,标准库的某些部分(如ensurepip )经常丢失。
为了安全起见,您可以指示您的用户直接从python.org安装Python (例如,您可以这样做)。或者,您必须单独查看每个操作系统(Linux发行版),找出要安装的正确项目,这可能会很繁琐。
从我个人的角度来看,我想说的是,Python应用程序或库的用户如何安装Python并不是您所关心的问题。每个用户都可能有自己的需求,不可能涵盖所有的用例。另一方面,如果您想要完全控制,可以使用包含所有依赖项(包括Python解释器)的格式分发应用程序。
https://stackoverflow.com/questions/61107881
复制相似问题