您所指的构建和安装命令来自 setup.py 文件,对吗?
Setup.py ( http://docs.python.org/2/distutils/setupscript.html )
该文件由 Python 的 3rd 方应用程序/扩展创建。它们不属于:
- Python 源代码(一堆 c 文件等)
- 与 Python 捆绑在一起的 Python 库
当开发人员为 python 创建一个他想与世界共享的库时,他会创建一个 setup.py 文件,以便该库可以安装在任何具有 python 的计算机上。也许这是缺少的一步
安装程序.py sdist
这将创建一个 python 模块(tar.gz 文件)。这样做是将python库使用的所有文件复制到一个文件夹中。为模块创建一个 setup.py 文件并将所有内容存档,以便可以在其他地方构建库。
Setup.py 构建
这会将 python 模块重新构建到一个库中(特别是对于这个操作系统)。
您可能知道,python 库最初来自的计算机与您正在安装的库不同。
- 它可能有不同版本的python
- 它可能有不同的操作系统
- 它可能有不同的处理器/主板/等
由于上面列出的所有原因,该代码将无法在另一台计算机上运行。因此,setup.py sdist
创建一个模块,其中仅包含在另一台计算机上重建库所需的源文件。
setup.py 所做的与 makefile 所做的完全相同。它编译源代码/创建所有这些东西的库。
现在我们在库中拥有了我们需要的所有文件的副本,它们将在我们的计算机/操作系统上运行。
安装程序.py 安装
太好了,我们拥有所需的所有文件。但他们不会工作。为什么?好吧,它们必须被添加到 Python 中,这就是原因。这就是 install 的用武之地。现在我们有了库的本地副本,我们需要将其安装到 python 中,这样您就可以像这样使用它:
import mycustomlibrary
为了做到这一点,我们需要做几件事,包括:
- 在我们的 python 版本中将文件复制到它们的库文件夹中。
- 确保可以使用
import
命令导入库
- 运行此库的任何特殊安装说明。(设置路径等)
这是任务中最复杂的部分。如果我们的库使用 BeautifulSoup 会怎样?这不是 Python 库的一部分。我们必须以一种方式安装它,以便我们的库和其他任何人都可以使用 BeautifulSoup 而不会相互干扰。
另外,如果 python 安装在其他地方怎么办?如果它安装在有很多用户的服务器上怎么办?
安装透明地处理所有这些问题。所做的是使我们刚刚构建的库能够运行。您所要做的就是使用import
命令,安装处理其余的。