【发布时间】: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,因为其他人(例如pip 和venv)遵循这个命名约定,但它没有给我我正在寻找的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