0

我正在尝试在我的 Mac 上安装 Pandas for Python。我安装了 Xcode,然后基于另一个 SO 帖子安装了 MacPorts,然后输入了 command sudo port install py27-pandas

  1. 究竟什么是“端口”?我已经阅读了它的定义,它是一种“软件构造”(不确定这意味着什么)。通过阅读 MacPorts 的文档,MacPorts “为给定端口自动安装任何所需的支持软件,称为依赖项。” 就我而言,熊猫会成为“港口”吗?如果是这样,当 Pandas 文档仅引用三个依赖项时,为什么 MacPorts 会安装超过 50 个依赖项?

  2. 我究竟如何使用 MacPorts?我目前使用终端访问 Python。既然 Pandas 是通过 MacPorts 安装的,我会做一些不同的事情吗?还是 MacPorts 基本上只是一个“安装程序”,而我通过相同的过程来使用 Python?

4

1 回答 1

0

这个问题可能更适合编程 SE 组。没有把握。我会试着回答。如果我复习已经很明显的事情,我深表歉意。

我认为 MacPorts 可能已经将“端口”的常见用法改编为略有不同的含义。

移植一个软件就是让它适应一个新的软件环境——比如操作系统。例如,有人可能会使用最初为 Windows 编写的软件,并将其“移植”到 MacOS。有时这很容易,涉及更改几行源代码,有时涉及修改多行代码。有时您必须找到额外的软件(有时称为“库”)来代替其他操作系统中自动提供的软件。更一般地说,我所说的“软件环境”可以是人们用作编写其他软件的构建块的任何软件。例如,C# 是一种在许多方面与 Java 编程语言相似的编程语言。有人可能会拿用 C# 编写的软件并用 Java 重写它。那就是“移植”软件。

一旦软件被移植,新版本的软件就称为移植。

通过 MacPorts 提供的大部分软件都是在上述意义上移植的——即,它被修改为在 MacOS 中运行,因为它最初是为另一个操作系统编写的。在某些情况下,移植该软件所需的内容非常少,因为该软件是为 Unix 或 Linux 编写的,而 OS X 是正常界面下的 Unix。如果 MacPorts 中的某些软件根本没有移植,我不会感到惊讶——它最初是为 MacOS 编写的。所以这将是 MacPorts 扩展“端口”含义的一种方式。

还记得我上面所说的关于使用其他软件(例如库)的软件吗?如果您安装一个软件,它可能需要其他软件才能运行。第一个软件对其他软件具有“依赖性”。MacPorts 所做的一件事就是跟踪它。当您要求第一个软件时,它会安装额外的软件。

我不知道熊猫是什么。无法帮助您了解如何使用它。但是关于 50 个依赖项:可能 Pandas 立即依赖于其他 3 个软件,但它们依赖于其他软件,这又依赖于其他软件等,很快你就会得到 50 个依赖项。

(还有一个“端口”的用法是指硬件或软件,这些硬件或软件可以作为您可以发送和接收数据的东西。这些天来,这个术语的使用通常出现在与计算机网络相关的编程中,在我看来。 )

于 2013-08-21T04:07:52.463 回答