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

一、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=<target-dir>  -r requirements.txt
or
# pip install --no-index --find-links=<target-dir>  <package-name>

如何离线安装所有依赖包相关推荐

  1. python离线安装依赖包_python离线安装外部依赖包的实现

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. pycharm安装python包_Pycharm使用教程(四)-安装python依赖包(非常详细,非常实用)...

    简介 在做python开发时,需要很多依赖包,如果已经安装pip,安装依赖包,可以通过命令行:没有安装的,也可以通过PyCharm安装. 具体安装步骤 1.在File->Setting,如图: ...

  3. python一键安装包_Python一键安装全部依赖包

    requirements.txt用来记录项目所有的依赖包和版本号,只需要一个简单的pip命令就能完成. step1: pip freeze >requirements.txt step2: pi ...

  4. Ubuntu下Python安装了依赖包后仍然找不到包 python setup.py install 解决方案

    Ubuntu下Python安装了依赖包后仍然找不到包 python setup.py install 解决方案 参考文章: (1)Ubuntu下Python安装了依赖包后仍然找不到包 python s ...

  5. 第三:Pycharm中安装Python依赖包(非常详细)

    简介 在做python开发时,需要很多依赖包,如果已经安装pip,安装依赖包,可以通过命令行:没有安装的,也可以通过PyCharm安装. 具体安装步骤 1.在File->Setting,如图: ...

  6. 无网络rpm包安装相关依赖包

    文章目录 无网络rpm包安装相关依赖包 1,介绍 2,找一台能上网的电脑下载rpm包. 3,批量安装rpm包(拷贝到要安装的电脑) 无网络rpm包安装相关依赖包 1,介绍 有的生产环境是没有网络的,我 ...

  7. ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位

    ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位 鱼香ROS介绍: 鱼香ROS是由机器人爱好者共同组成的社区,欢迎一起参与机器人技术交流. 进交流群请加机器 ...

  8. idea安装maven依赖包及配置过程,打开及运行项目

    一.idea安装maven依赖包及配置 1.官网下载maven安装包 2.将安装包解压到D盘任意位置,例如D:\ProgramFile\ideaMaven下 3.然后配置环境变量 打开电脑设置→系统→ ...

  9. 安装项目依赖包---基于Ant-Design-Pro-2-0-的CMS管理后台入门系列

    安装项目依赖包 根据自身习惯的方式,自行选择使用 npm 或 yarn 进行安装依赖包. 注意:如果选择 npm 安装,后面的命令都是用 npm 命令,包括 npm start / npm build ...

最新文章

  1. 自定义View的三种构造方法
  2. 1、输入四个整数,按照从小到大顺序输出。(20分)
  3. 威胁生存!科学家警告灾难性“气候临界点”已逼近
  4. 记一次解题思路(周起始日)
  5. w10系统没有打开方式_小白怎么制作微软官方win10系统安装启动U盘
  6. HDU 3308 LCIS
  7. C++ 正态分布、概率累积密度函数的使用(boost库)
  8. nginx工作进程处理请求的系统调用
  9. ubuntu 安装、配置、卸载Anaconda3
  10. Linux 配置LNMP服务器 并配置虚拟主机
  11. 《图解机器学习-杉山将著》读书笔记---CH5
  12. alter table 加多个字段_Vue 组件设计 - table不需要封装
  13. 线性规划 (二) 单纯形法
  14. UITableView分割线
  15. MIUI 12稳定版系统中的开发者选项限制解除
  16. 基于单片机仿指针显示的电子时钟设计(毕业设计资料)
  17. 如何检索教授的国家自然科学基金的完整版结题报告
  18. 自己搭建无线音乐服务器,建立自己的音乐库 Aurender ACS10 音乐服务器
  19. 中银国际证券java面试_Re: 【offer求比较】深圳关内老师vs中银国际证券后  - 找工作啦(Job)版 - 北大未名BBS...
  20. linux 内核调试 booting the kernel.,Uncompressing Linux....... done, booting the kernel就不动了的一个可能原因...

热门文章

  1. 19-05【icloud】照片备份
  2. git分支开发练习以及创建文件提交到版本库
  3. 意外发现一款很好用的开源BI工具——DataEase
  4. 如何配置NAT Server?
  5. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略
  6. SSI服务端包含技术
  7. 初识设计模式 - 解释器模式
  8. Android默认设置MTP模式
  9. 浅析即时通讯开发P2P技术如何降低实时视频直播带宽
  10. html标签中h4和h5,h5与h4的区别