问题描述
要安装python软件包,有没有办法只将我需要的特定模块(加上依赖项)安装到虚拟环境中?
from statsmodels.tsa.arima_model import ARIMA
我只需要ARIMA
(和依赖项),就不需要完整的statsmodels
库。
我该怎么做?
理论上:
解决方法
这是一种可怕的暴力手段。希望有人给您更好的答案!
假设您要安装的源是公开的,其许可允许这种使用,并且您愿意解决麻烦,我想您可以:
- 复制源文件
- 删除所需模块未使用的所有内容
- 将该模块的源代码放入包装中,然后从那里进行接线。 (此答案建议a reasonable file structure用于供应商的软件)
或者,如果上述假设成立,但您不希望直接在软件内进行销售,则可能:
- 复制源代码(例如,分叉仓库)
- 删除所需模块未使用的所有内容,确保保留有效的python包
- use
pip
或您环境的本机依赖性管理工具,以在虚拟环境中下载并安装软件包。
请注意,这两种方法都会使您面临多种风险,包括但不限于:
- 打破模块:如果不小心造成了逻辑或安全缺陷,您的项目会怎样?
- 货币损失:您打算如何使新的迷你包装保持最新状态?
- 责任:供应商提供的软件许可是否允许这种使用?如果您修改的软件出了点问题,您是否得到了充分的保护?