本文由腾讯云+社区自动同步,原文地址https://stackoverflow.club/article/docker_python_module/
我们一般如何处理软件的运行环境问题?一般上,即使用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中。
参考:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有