如何在Docker镜像中安装PIP及PYMSSQL等Python依赖库
操作方案
最终调整后的Dockerfile示例
#Ubuntu Base image with openjdk8 with TomEE FROM demo.azurecr.io/ubuntu/tomee/openjdk8:8.0.x RUN apt-get update && apt-get install -y \ telnet \ ksh \ python2.7 \ curl \ freetds-dev \ gcc \ python2.7-dev \ && apt-get -y clean \ && rm -rf /var/lib/apt/lists/* # 安装适配Python2.7的pip工具 RUN curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py \ && python2.7 get-pip.py \ && rm -f get-pip.py # 安装pymssql及其他Python依赖 RUN pip install pymssql
调整说明
- 补充系统依赖:
pymssql库运行、编译需要依赖freetds、gcc、Python2.7头文件,因此在apt安装阶段补充上述依赖包,避免后续pip安装时出现编译失败的问题。 - pip安装逻辑:由于Python2.7已经停止官方维护,多数新版Ubuntu软件源已移除
python-pip安装包,因此通过官方适配Python2.7的pip安装脚本完成pip部署,兼容性更高。如果你的基础镜像对应的Ubuntu版本较旧,也可以直接在apt安装列表中添加python-pip,省略单独的pip安装步骤。 - 多依赖场景优化:如果需要安装的Python依赖较多,建议单独维护
requirements.txt文件,将所有依赖包按行写入该文件后,在Dockerfile中添加以下指令即可批量安装:
COPY requirements.txt ./ RUN pip install -r requirements.txt
内容的提问来源于stack exchange,提问作者One Developer
相关产品推荐
相关产品推荐

