如何解决如何从软件包中安装模块?
要安装python软件包,有没有办法只将我需要的特定模块(加上依赖项)安装到虚拟环境中?
例如,我在代码中导入以下内容
from statsmodels.tsa.arima_model import ARIMA
我只需要ARIMA
(和依赖项),就不需要完整的statsmodels
库。
我该怎么做?
理论上:
- 我正在尝试压缩软件包并部署到AWS lambda。但是,我超出了50MB的文件大小限制。
- 如果有一种方法可以仅从软件包中安装我需要的模块,则可以减小文件大小。
解决方法
这是一种可怕的暴力手段。希望有人给您更好的答案!
假设您要安装的源是公开的,其许可允许这种使用,并且您愿意解决麻烦,我想您可以:
- 复制源文件
- 删除所需模块未使用的所有内容
- 将该模块的源代码放入包装中,然后从那里进行接线。 (此答案建议a reasonable file structure用于供应商的软件)
或者,如果上述假设成立,但您不希望直接在软件内进行销售,则可能:
- 复制源代码(例如,分叉仓库)
- 删除所需模块未使用的所有内容,确保保留有效的python包
- use
pip
或您环境的本机依赖性管理工具,以在虚拟环境中下载并安装软件包。
请注意,这两种方法都会使您面临多种风险,包括但不限于:
- 打破模块:如果不小心造成了逻辑或安全缺陷,您的项目会怎样?
- 货币损失:您打算如何使新的迷你包装保持最新状态?
- 责任:供应商提供的软件许可是否允许这种使用?如果您修改的软件出了点问题,您是否得到了充分的保护?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。