【问题标题】:python directories in ubuntu 18.04 LTS /usr/lib/ fresh installubuntu 18.04 LTS /usr/lib/ 全新安装中的 python 目录
【发布时间】:2019-11-20 19:25:17
【问题描述】:

我最近安装了 Ubuntu 18.04 并意识到 /usr/lib/ 目录中填充了以下 python 目录(我没有手动安装任何 python 包):

python2.7/
python3/
python3.6/
python3.7/

据我了解,Ubuntu 18.04 是通过default 安装python3,终端确认了这一点:

$ python3 --version
Python 3.6.8

同时似乎没有安装python2。

$ python --version
Command 'python' not found, but can be installed with:
...
$ which python
(empty)

所以我的问题是:

  1. 为什么/usr/lib/中没有安装python2.7/?
  2. 为什么 /usr/lib/ 中有三个不同的 python3 目录?

编辑:我没有手动安装或卸载任何 python 包。

【问题讨论】:

  • 你试过which python2吗?
  • 为什么 pythonX/ 出现在 /usr/lib 中?我的在 /usr/bin

标签: python python-3.x ubuntu


【解决方案1】:
  1. /usr/lib中的python2.7目录包含所有python默认库,作为python标准库的一部分。用户会话可能不会默认安装它,但由于 OS 的许多系统库依赖于 python2,因此安装了这些库。
  2. 三个python3目录对应:
    • python3:包含分发包
    • python3.x:该特定版本的 Python 标准库。

因为在 Ubuntu 18.04 中默认情况下 Python2 没有安装在实时会话中。您必须手动安装它

$ sudo apt install python2.7-minimal

你现在可以使用python2.7了

$ python2.7

【讨论】:

  • 是否必须安装 python2 才能使这些默认库有用?我试图理解为什么没有安装 python2 时 /usr/lib/ 中有 python2.7/
  • 这样依赖python2.7的系统库就可以使用了。
【解决方案2】:

1) 查找 Py2 的安装位置:

which python

这将返回 Python 2 的安装位置。 但是,您似乎没有安装 Py2,这就是为什么 python --version 没有返回任何内容,而是要求您安装 Python 2。

这些文件只是以前安装的残余,这些目录的存在并不意味着您可以运行 Py2。一些应用程序选择不删除目录,以便在重新安装应用程序时保留配置。

2) 许多 Python 应用程序是使用早期版本的 Python 构建的,不适用于较新的 Python 版本。所以在 Ubuntu 上安装这些不同的版本是为了满足某些程序的不同需求。

请记住库是使用特定的 Python 版本构建的,因此如果使用这样的库,则必须安装该库才能工作的特定 Python 版本,因此 python3 目录包含与 Py3 和其他目录相关的包python3.x有不同的分布。

【讨论】:

  • which python 不返回任何内容。我会相应地更新问题。
  • 那是因为你没有安装 Python 2,也许你已经卸载了它,这就是为什么 python --version 没有返回任何东西。我错过了我会更新我的答案。
  • 鉴于我之前没有安装python2,我们如何解释python2文件的残余?
  • Python 2 随 Ubuntu 开箱即用,其背后的原因是许多(我的意思是很多)软件包是用 Py2 制作的(其中一些是 Ubuntu 作为全新安装的一部分提供的) )。永远不建议删除 Py2,因为您将来某个时候会需要它。我曾经很难学会这一点。
  • 养成始终使用python3pip3 的习惯,这将为您将来节省大量时间和精力。如果您还需要什么,请询问。如果此答案有助于投票,请单击答案旁边的勾号。
猜你喜欢
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多