这个问题可能更适合编程 SE 组。没有把握。我会试着回答。如果我复习已经很明显的事情,我深表歉意。
我认为 MacPorts 可能已经将“端口”的常见用法改编为略有不同的含义。
移植一个软件就是让它适应一个新的软件环境——比如操作系统。例如,有人可能会使用最初为 Windows 编写的软件,并将其“移植”到 MacOS。有时这很容易,涉及更改几行源代码,有时涉及修改多行代码。有时您必须找到额外的软件(有时称为“库”)来代替其他操作系统中自动提供的软件。更一般地说,我所说的“软件环境”可以是人们用作编写其他软件的构建块的任何软件。例如,C# 是一种在许多方面与 Java 编程语言相似的编程语言。有人可能会拿用 C# 编写的软件并用 Java 重写它。那就是“移植”软件。
一旦软件被移植,新版本的软件就称为移植。
通过 MacPorts 提供的大部分软件都是在上述意义上移植的——即,它被修改为在 MacOS 中运行,因为它最初是为另一个操作系统编写的。在某些情况下,移植该软件所需的内容非常少,因为该软件是为 Unix 或 Linux 编写的,而 OS X 是正常界面下的 Unix。如果 MacPorts 中的某些软件根本没有移植,我不会感到惊讶——它最初是为 MacOS 编写的。所以这将是 MacPorts 扩展“端口”含义的一种方式。
还记得我上面所说的关于使用其他软件(例如库)的软件吗?如果您安装一个软件,它可能需要其他软件才能运行。第一个软件对其他软件具有“依赖性”。MacPorts 所做的一件事就是跟踪它。当您要求第一个软件时,它会安装额外的软件。
我不知道熊猫是什么。无法帮助您了解如何使用它。但是关于 50 个依赖项:可能 Pandas 立即依赖于其他 3 个软件,但它们依赖于其他软件,这又依赖于其他软件等,很快你就会得到 50 个依赖项。
(还有一个“端口”的用法是指硬件或软件,这些硬件或软件可以作为您可以发送和接收数据的东西。这些天来,这个术语的使用通常出现在与计算机网络相关的编程中,在我看来。 )