【问题标题】:Is it possible to create a fully self-contained Python package?是否可以创建一个完全独立的 Python 包?
【发布时间】:2015-09-23 04:00:22
【问题描述】:

问题

Ansible 是一个 python 模块,可通过 pip 安装。它依赖于几个依赖项,也依赖于 pip 模块。是否可以将所有这些依赖项和 Ansible 本身“汇总”到某种单一的包中,可以离线安装,无需 root 用户?安装时最好不需要 pip,尽管它可用于创建包。

额外背景

我正在尝试在我们的一台服务器上安装 Ansible。服务器无法访问互联网,没有root访问权限。未安装 Pip,但安装了 Python。可以在那里安装 pip,但可能很复杂。在服务器上获取任何内容的唯一方法是通过内部 tar.gz 包共享解决方案。

我试过摆弄 rpm,保存依赖项,但是没有 root 访问权限结束了这一点。

【问题讨论】:

  • 可以用 virtual_env 吗?
  • 当然,您只需复制所有依赖项并确保所有内容都在正确的位置
  • @njzk2 是的,请写一个答案,但更简单的方法会更好
  • @IanAuld 这基本上意味着我必须为所有依赖项编写一个组合安装程序脚本吗?
  • @IanAuld 我想您必须获取模块和依赖项,然后为它们中的每一个运行 setup.py,是吗?

标签: python pip ansible


【解决方案1】:

在联网的机器上使用 pip 将所有的 deps 下载到带有--download and -r requirements.txt 的本地目录,然后将该目录放到已安装 pip 的已断开连接的机器上,并使用 --no-index and --find-links=(archive dir) 进行安装。

https://pip.pypa.io/en/latest/user_guide/#fast-local-installs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    相关资源
    最近更新 更多