Do we need to keep one PYTHON repo. for easy cluster deployment, easy installation, easy compilation?
Created by: backyes
- Paddle集群作业需要私有的python解释器。因为集群环境复杂多样,依赖系统自带的python不够现实,所以一般都是集群job都是自带一个python解释器
- 单机用户也面临python问题。单机用户在编译、安装阶段中,python相关问题也非常严重。https://github.com/baidu/Paddle/issues/297 是其中一个问题。
- 集群用户在跑不同作业时,比如image classification、nlp等,可能需要多种python库,但是普通用户在解决此类问题时,非常头疼,尤其在集群环境下。
- Paddle本身依赖c++11语法,为此需要高版本编译器,为此所依赖的python解释器也需要做到高版本编译,否则潜在的有不兼容风险,比如某些python库采用so动态库实现。因此,高版本运行时环境依赖的python,在安装其他python库的时候,也可能因为某些so不是包版本编译的,导致很多运行时问题。例如,pip install x.lib, 如果x.lib依赖低版本的运行时库,那么通过pip安装的python库,是无法运行到paddle进程空间内的。
综上,如果我们最好维护一个专门服务Paddle的python解释器,持续不断升级更新,满足多种场景下的需求。(目前我们私自维护了一个python解释器,相对封闭,贡献的人少,遇到问题需要专人处理,转么维护一个repo,可以多人贡献、分享)
讨论:
- 默认gcc48编译器编译
- 是否要升级python到更高版本,比如3.x版本
@reyoung @wangkuiyi @qingqing01 @luotao1 @hedaoyuan @gangliao 有什么邮件。