geekdoc-python-zh/docs/pythonlibrary/python-101-installing-packa...

6.3 KiB
Raw Blame History

Python 101 -安装包

原文:https://www.blog.pythonlibrary.org/2014/03/27/python-101-installing-packages/

当您第一次开始成为 Python 程序员时您不会考虑您可能需要如何安装外部包或模块。但是当这种需求出现时你会很快想知道如何去做Python 包在互联网上随处可见。大部分流行的都可以在 Python 包索引(PyPI) 上找到。你还会在 github、bitbucket、Google code 上找到很多 Python 包。在本文中,我们将介绍以下安装 Python 包的方法:

  • 从源安装
  • 简单安装
  • 安装软件包的其他方式

从源安装

从源代码安装是一项很好的技能。还有更简单的方法,我们将在本文后面讨论。然而,有一些软件包您必须从源代码安装。例如,要使用 easy_install ,您需要首先安装 setuptools 。为此,您需要下载 tar 或 zip 文件,并将其解压缩到系统中的某个位置。然后寻找 setup.py 文件。打开终端会话,将目录切换到包含安装文件的文件夹。然后运行以下命令:


python setup.py install

如果 python 不在您的系统路径上您将收到一条错误消息指出“Python”命令未找到或者是一个未知的应用程序。您可以使用 Python 的完整路径来调用此命令。如果你在 Windows 上,你可以这样做:


c:\python34\python.exe setup.py install

如果您安装了多个版本的 Python并且需要将包安装到不同的版本上这种方法尤其方便。您所需要做的就是输入正确 Python 版本的完整路径,并根据它安装软件包。

有些软件包包含 C 代码,例如 C 头文件,需要编译这些文件才能正确安装软件包。在 Linux 上,你通常已经安装了一个 C/C++编译器,你可以轻松地安装这个包。在 Windows 上,您需要安装正确版本的 Visual Studio 才能正确编译该包。有些人说你也可以使用 MingW但是我还没有找到一种方法让它工作。如果软件包中已经预先制作了 Windows installer请使用它。那你就完全不用乱搞编译了。


使用简易安装

一旦安装了 setuptools您就可以使用 easy_install 。你可以在你的 Python 安装的脚本文件夹中找到它。请确保将 Scripts 文件夹添加到您的系统路径中,这样您就可以在命令行上调用 easy_install而无需指定其完整路径。尝试运行以下命令来了解 easy_install 的所有选项:


easy_install -h

当你想用 easy_install 安装包时,你所要做的就是:


easy_install package_name

easy_install 将尝试从 PyPI 下载软件包,编译它(如果需要)并安装它。如果你进入你的 Python 的 site-packages 目录,你会发现一个名为 easy-install.pth 的文件,它将包含所有用 easy_install 安装的包的条目。Python 使用这个文件来帮助导入模块或包。

您还可以告诉 easy_install 从 URL 或您计算机上的路径进行安装。它还可以直接从 tar 文件安装软件包。你可以使用 easy_install 通过使用 - upgrade (或者-U)来升级一个包。最后,您可以使用 easy_install 来安装 Python eggs。您可以在 PyPI 和其他位置找到 egg 文件。egg 基本上是一个特殊的 zip 文件。事实上如果您将扩展名更改为。zip可以解压 egg 文件。

以下是一些例子:


easy_install -U SQLAlchemy
easy_install http://example.com/path/to/MyPackage-1.2.3.tgz
easy_install /path/to/downloaded/package

easy_install 存在一些问题。它会在下载完成前尝试安装一个软件包。无法使用 easy_install 卸载软件包。您必须自己删除软件包,并通过删除软件包中的条目来更新 easy-install.pth 文件。出于这些和其他原因Python 社区中出现了创造不同事物的运动,这导致了 pip 的诞生。


使用画中画

安装 pip 与我们之前讨论的稍有不同。您仍然可以访问 PyPI但是不是下载包并运行它的 setup.py 脚本,而是要求您下载一个名为 get-pip.py 的脚本。然后,您需要通过执行以下操作来执行它:


python get-pip.py

这将安装 setuptools 或 setuptools 的替代产品 distribute ,如果其中一个尚未安装的话。它还将安装 pip。pip 与 CPython 版本 2.6、2.7、3.1、3.2、3.3、3.4 以及 pypy 一起工作。您可以使用 pip 来安装 easy_install 可以安装的任何东西,但是调用有点不同。要安装软件包,请执行以下操作:


pip install PackageName

要升级软件包,您需要执行以下操作:


pip install -U PackageName

您可能想调用“pip -h”来获得 pip 可以做的所有事情的完整列表。pip 可以安装而 easy_install 不能安装的一个东西是 Python wheel 格式。wheel 是一个 ZIP 格式的归档文件具有特殊格式的文件名和。whl 分机。您也可以通过自己的命令行实用程序安装轮子。另一方面pip 不能安装鸡蛋。如果你需要安装一个 egg你会希望使用 easy_install。


关于依赖性的一个注记

使用 easy_install 和 pip 的众多好处之一是,如果软件包在其 setup.py 脚本中指定了依赖项easy_install 和 pip 也会尝试下载并安装它们。当您尝试新的软件包时,这可以减轻很多挫折,您没有意识到软件包 A 依赖于软件包 B、C 和 d。


包扎

现在,您应该能够安装您需要的任何包了,假设这个包支持您的 Python 版本。Python 程序员可以使用很多工具。虽然现在 Python 中的打包有点混乱,但是一旦你知道如何使用合适的工具,你通常可以得到你想要安装或打包的东西。


附加阅读