【问题标题】:How to install a Python package with documentation?如何安装带有文档的 Python 包?
【发布时间】:2015-02-20 15:03:14
【问题描述】:

我正在尝试找到一种方法来安装 带有 其文档的 python 包。 我必须在没有连接到互联网的机器上使用它,所以在线帮助不是我的解决方案。此处已经发布的类似问题表明这是不可能的。你有什么方法可以让这更容易,因为我目前正在这样做:

  1. 下载源存档
  2. 解压 docs 文件夹
  3. 运行狮身人面像
  4. 从浏览器启动索引文件(firefox 等)

有什么想法吗?

附:我对 Python 很陌生,所以可能我遗漏了一些东西......而且我正在使用 Windows(虚拟)机器......

编辑:

我说的是两种可能的安装包的方法:

  1. 在我在线时通过 easy_install(或任何其他我不知道的方式)在机器上安装软件包,然后将我的安装更改复制到目标机器
  2. 下载源包(包含 sphinx 兼容文档)并在目标机器上安装包离线

但是在任何情况下,我都不知道一种安装软件包的方法,即提供的文档与模块一起安装!

您可能知道存在一个文档文件夹:<python-folder>/Doc,在 Windows 上安装 Python 2.78 后,该文件夹将仅包含 python278.chm。所以,我希望这个文件夹也将包含新安装包的文档。这将避免在 Internet 上查看不同软件包版本的文档以及我的特定机器设置问题。

我目前使用的大多数包都附带使用 sphinx 生成的文档,它们的源包包含离线生成文档所需的所有文件。

所以我正在寻找的是一些用于包安装程序的 cli 参数,就像它在基于 unix/linux 的包管理器中很常见。我确实期待这样的事情: easy_install a_package --with-html-docs.

【问题讨论】:

  • 什么包,他们使用像 readthedocs.org 这样的服务吗?
  • @Ngenator:本机只能访问内网,无法读取文档。
  • 这不是我问的...如果他们使用这样的服务,那么您实际上可以下载文档的 pdf、html 或 epub 版本...
  • 对不起,我说的是两种可能的情况:
  • @Ngenator 如何从 readthedocs.org 下载文档?

标签: python installation


【解决方案1】:

这里有一些场景:

  1. 软件包在 zip/tar 中包含文档
  2. 软件包有一个 -docs 可以单独下载/安装
  3. 具有可构建文档的包
  4. 只有在线文档的软件包
  5. 除内部文件外没有其他文档的软件包。
  6. 没有任何文档的软件包。

您可以用于选项 1 和 3 的偷偷摸摸的技巧是将包下载为 tar 或 zip,然后在目标机器上使用 easy-install archive_name 这将从zip 或 tar 文件,包括 (我相信) 任何文档。您会发现在某些软件包中存在未满足的依赖项 - 这些依赖项应该会在简单安装时出现错误,提及缺少的内容 - 您需要获取这些依赖项并使用相同的技巧。

一些非常方便的东西 - virtual-env 将让你有一个运行的 Python 库免费版本,因此你可以获得要求和 pip -d dir> 无需下载安装将您的包存储在 dir 中。

您应该能够对选项 2 使用相同的技巧。

对于只有在线文档的软件包,您可以查看是否有可下载的版本,或者可以抓取网页并使用pandoc 之类的工具转换为有用的东西。

在第 5 种情况下,我建议在包装上提出一张票,说明缺乏可访问的文档使其几乎无法使用并在其上运行 sphinx。

在场景 6 中,我建议提高票证,但实际上错过了并避免使用该包 ,因为如果它没有文档,它可能还有很多其他问题 - 如果你是一个包作者觉得被诽谤了,那么你应该感到羞耻

镜像/缓存 PyPi

另一种可能是有一个 linux 机器或虚拟机,最初位于防火墙之外,运行缓存或镜像服务,例如pipyserver,通过它安装所需的包以填充缓存,然后将它(或它的缓存到另一个 pip 服务器)移动到防火墙内,然后您可以使用 pip 和记录的设置在防火墙内进行所有安装.另见答案here

【讨论】:

  • @史蒂夫:谢谢你澄清我的问题,但这就是我目前正在做的事情。问题是我想使用--upgrade 选项自动执行此操作,我开始意识到这是不可能的。我认为还有另一个更好的安装程序,例如 easy_install
  • @rogepa 在 Mirror/Cache PyPi 中添加了一个支持 --upgrade 的选项
猜你喜欢
  • 2014-06-21
  • 2015-03-09
  • 2011-05-10
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2015-05-13
  • 2011-02-01
相关资源
最近更新 更多