【问题标题】:How to install parts of specific python package?如何安装特定python包的部分?
【发布时间】:2021-08-07 02:53:53
【问题描述】:

我正在查看使用 acicobra 包的代码。 Acicobra 库为 670MB。 python 代码仅使用 acicobra 库中的几个函数。有没有办法从这个 acicobra 库中只安装所需的模块而不是整个库?如果我安装整个库,我的 docker 镜像会因为这个庞大的库而膨胀。

root@1f5edb150a78:/usr/local/lib/python2.7/site-packages# ls -l |grep -v dist-info|du -sh *|sort -hr
659M    cobra

这些是 python 代码中对 cobra 的唯一引用

from cobra.mit.access import MoDirectory
from cobra.mit.session import LoginSession, LoginError
from cobra.mit.request import ClassQuery, DnQuery, QueryError

如您所见,代码仅引用了整个库中的 3 个模块。

我正在寻找避免安装整个库以限制 dockerimage 大小的方法

【问题讨论】:

  • 不,没有。除非包有更小的子包可用

标签: python docker pip dockerfile


【解决方案1】:

除非它依赖于您可以获取的其他较小的子库,否则不会。

您可以查看代码,看看是否可以创建自己的更小的 Python 包。
但是 90% 的情况下,您会走下依赖链,无论如何都需要完整的库。
如果用于商业用途,还要检查许可证。

这应该是源的正确 github:
https://github.com/datacenter/cobra

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2020-07-20
    • 2016-12-21
    • 2018-04-05
    • 1970-01-01
    相关资源
    最近更新 更多