网站首页 文章专栏 在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_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中。