您现在的位置是:首页 > 文章详情

如何离线安装所有依赖包

日期:2020-06-03点击:447

当我们在一个没有公网的环境下去部署一些东西的时候往往是让人很头疼的一件事,因为可能会需要各种依赖包,依赖包本身也还有很多依赖关系。如果没有一次性把全部的依赖包打包下载好,我们下载的过程就能体会到什么叫俄罗斯套娃。。

一、os依赖包

1、准备一台与生产部署环境内核版本基本一致的镜像,安装mini install版作为本地环境

# cat /proc/version Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017

2、配置好本地环境的yum源、保证可通公网,一般都可以配置阿里的yum源即可

# cd /etc/yum.repos.d/ # mkdir bak # mv ./*repo bak # curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # yum clean all # yum makecache

3、通过yum将所需要的依赖包全部下载至本地目录

# yum install --downloadonly --downloaddir= <target_dir> <package-name>

备注:为保证生产部署环境可以部署自己的本地yum源,我们需要额外的去下载好 createrepo

# yum install --downloadonly --downloaddir=/myrpm createrepo

4、打包以上所有需要的依赖包到生产部署环境,搭建本地yum源

1)通过rpm手动安装createrepo

根据提示安装所需依赖包即可 # rpm -ihv createrepo-0.9.9-28.el7.noarch.rpm

2)搭建本地yum源

#创建本地rpm包repodata的索引目录 # createrepo /myrpm/ Spawning worker 0 with 197 pkgs Spawning worker 1 with 197 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete #若后续有更新其他依赖包,不需要重建,只需要update一下索引目录就好 # createrepo --update /myrpm/ Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete #配置yum源配置文件 # cd /etc/yum.repos.d/ # mkdir bak # mv ./*repo bak # cat local_yum.repo [local_yum] name=local_yum baseurl=file:///myrpm gpgcheck=0 enabled=1 priority=1 #清除yum缓存 yum clean all

5、通过本地yum源部署安装

yum install <package-name>

二、python库安装

1、下载python依赖包要关注两者环境的python、pip版本一致

# /app/python/bin/virtualenv /clean_env New python executable in /clean_env/bin/python2.7 Not overwriting existing python script /clean_env/bin/python (you must use /clean_env/bin/python2.7) Installing setuptools, pip, wheel...done. # source /clean_env/bin/activate (clean_env) # python --version Python 2.7.9 (clean_env) # pip --version pip 20.2b1 from /clean_env/lib/python2.7/site-packages/pip (python 2.7)

2、本地环境下载所需要的库及其依赖包

#requirements.txt文件下是我们需要安装的所有库 (clean_env) # pip download -d <target-dir> --trusted-host mirrors.aliyun.com -r requirements.txt or (clean_env) # pip download -d <target-dir> --trusted-host mirrors.aliyun.com <package-name>

3、将所有python包打包上传至生产部署环境

4、生产环境指定package目录安装库

# pip install --no-index --find-links=/root/python20/opsinsight/ -r requirements.txt or # pip install --no-index --find-links=/root/python20/opsinsight/ <package-name>
原文链接:https://yq.aliyun.com/articles/763742
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章