python依赖项根据主机安装?
python中有没有办法根据主机中的libs安装依赖项?“问题”是我有一个可以在有lib和没有lib的机器上工作的包。e.q:Hadooppython依赖项根据主机安装?,python,hadoop,Python,Hadoop,python中有没有办法根据主机中的libs安装依赖项?“问题”是我有一个可以在有lib和没有lib的机器上工作的包。e.q:Hadoop 但是,当pydoop未安装在主机中时,它正在下降。在没有安装Hadoop的机器上,可以使控制盘足够智能而不安装pydoop?这是可能的,但我不建议您这样做。相反,使用以下方法将其作为分发中的“额外”选项: 额外要求: 将“extras”(项目的可选功能)的名称映射到字符串或字符串列表的字典,指定必须安装哪些其他发行版才能支持这些功能。有关此参数格式的详细信息
但是,当pydoop未安装在主机中时,它正在下降。在没有安装Hadoop的机器上,可以使控制盘足够智能而不安装pydoop?这是可能的,但我不建议您这样做。相反,使用以下方法将其作为分发中的“额外”选项: 额外要求: 将“extras”(项目的可选功能)的名称映射到字符串或字符串列表的字典,指定必须安装哪些其他发行版才能支持这些功能。有关此参数格式的详细信息和示例,请参见下面的一节 因此,您的
setup.py
将具有如下内容:
setup(
name="PyAgus",
...
extras_require={
'hadoop': ["pydoop"],
}
)
由用户决定是否使用可选的hadoop支持进行安装。请注意,在这种情况下,“用户”可能是编排回购,例如salt/ansible/puppet
如果您确实希望根据检查源计算机上的libs avail来动态决定是否安装额外的,则可以使用或仅将生成install\u requires
参数的逻辑直接添加到setup.py
中。这两种方法都很粗糙,如果你想继续讨论的话,PyPA对此也有自己的看法