【问题标题】:Difference between `python3-ipython` and `ipython3` packages in Ubuntu 20.04Ubuntu 20.04 中 `python3-ipython` 和 `ipython3` 软件包之间的区别
【发布时间】:2021-03-24 12:12:51
【问题描述】:

在 Ubuntu 20.04 上查询 ipython 包时(首先尝试了pip3 install ipython,但这并没有给我我正在寻找的ipython3 二进制文件)我发现有两个包:

$ ~/dev/romanyh$ sudo apt search ipython3
Sorting... Done
Full Text Search... Done
ipython3/focal,focal,now 7.13.0-1 all [installed]
  Enhanced interactive Python 3 shell

python3-ipython/focal,focal,now 7.13.0-1 all [installed]
  Enhanced interactive Python shell (Python 3 version)

我首先尝试了python3-ipython,因为其他人(例如pipvenv)遵循这个命名约定,但它没有给我我正在寻找的ipython3 二进制文件。看起来效果类似于运行pip3 install ipython

我最终都安装了,ipython3 包确实为我提供了我正在寻找的二进制文件。

我的问题是:这些包之间有什么区别?为什么两者都可用?

【问题讨论】:

  • 某些模块使用 C/C++ 代码,可能需要来自其他库的 .h 标头并需要 C/C++ 编译器 - 这可能会导致安装它的问题,因为您可能必须先安装所有需要的元素使用pip 安装模块。这就是为什么某些发行版会创建预编译模块以便更容易安装它们的原因。例如,与pip 一起安装的模块wxPython 必须从C/C++ 代码wxWidgets 编译所有代码,这可能需要几个小时。出于同样的原因,还有Unofficial Windows Binaries for Python Extension Packages
  • 出于同样的原因,Anaconda 为 Python 提供了用于数据科学的预编译模块。 List of packages for py3.8 linux-64

标签: python python-3.x pip apt ubuntu-20.04


【解决方案1】:

我今天也有同样的疑问。通常,安装特定于发行版的软件包比使用 pip 获得更好的结果。 (在 cmets 中已经解释过了)

已编辑:尽管安装这些软件包中的任何一个都应该得到相同的结果...在安装软件包 ipython 之前,我无法执行 ipython3。 (这是在 docker 上的 ubuntu cotainer 中)

python3(它几乎是一个“空”包)依赖于python3-ipython

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多