网站首页 文章专栏 在docker中安装python依赖库/模块
在docker中安装python依赖库/模块
创建于:2019-06-27 04:36:10 更新于:2024-10-08 06:06:03 羽瀚尘 7795
docker docker,python,软件

简介

我们一般如何处理软件的运行环境问题?一般上,即使用docker,我们的python脚本还是不可避免地需要安装额外的库。而每添加一个库都制作一个新的docker,这会是一个灾难。有必要寻找一种更优雅的解决方案。

方案一:下载离线安装包

以现有的docker image为环境基准,需要什么额外的包就将它下载下来,然后维护一个requirements.txt, 记录包名和版本号。接着再安装这个包到docker中,最好写一个脚本自动化。

这种方法比较繁琐,但优点是与不联网环境安装python包的流程是一样的,可以满足不联网的安装包的需求。

需要的命令(同样适用于不联网安装python包):

# download online
pip download package_name -d target_dir

# install offline
pip install --no-index -f target_dir -r requirements.txt

是否下载相关依赖包要看pip所处的python环境。建议换一个基础python环境,这样可以下载全部依赖包,更换python环境可以选择virtualenv或者conda。

方案二:安装python包到本地目录

在工程目录新建python_modules,安装python包时使用命令

pip install package_name -t python_modules

将包安装到该目录

新建setup_env.sh脚本,创建PYTHONPATH环境变量

#!/bin/bash
export PYTHONPATH=/workspace/python_modules

或者在docker的启动参数中添加环境变量

-e PYTHONPATH=/workspace/python_modules

当然,在启动docker时要记得把本地目录挂载到docker中。

参考: Python sys.path详细介绍