参考文献:

http://blog.csdn.net/candcplusplus/article/details/52156324

https://www.cnblogs.com/michael-xiang/p/5690746.html

一、说明

  本文主要介绍两类软件的批量离线安装方式,一类是使用sudo apt-get install安装的软件,一类是使用pip install安装的python库。

  环境:

    Ubantu 16.03

    两台主机,一台联网,一台断网

二、apt install 类软件

  在Ubantu中使用apt install 安装软件时,所需要的文件和所有的依赖文件都会在 /var/cache/apt/archives/ 目录下缓存下来,所以只需要将其复制到断网主机上,然后改一下索引位置就能批量安装所有的软件。

  具体步骤如下:

  1. 在联网主机上下载所需软件

# 清空缓存目录
sudo rm -rf /var/cache/apt/archives/* # 下载所需软件
sudo apt-get install python-pip
sudo apt-get install python-dev
sudo apt-get install python-imaging

  2. 拷贝文件

    将 /var/cache/apt/archives/ 目录下的所有文件,除了lock文件,拷贝到U盘debs目录下,下面是我的样例。

    

  3. 在离线主机上保存文件

sudo mkdir /var/debs       # 创建空目录
sudo cp -r /U盘/路径/debs/* /var/debs/ # 将文件拷贝到该目录下

  4. 生成索引

sudo touch /var/debs/Packages.gz
sudo chmod -R 777 /var/debs/ # 设置修改权限
sudo dpkg-scanpackages debs /dev/null | gzip > /var/debs/Packages.gz # 创建索引

  5. 在 /etc/apt/sources.list 中添加本地目录

sudo gedit /etc/apt/sources.list

  将原来的内容全部注释,在末尾加行代码:

deb file:/var debs/

  注意var和debs之间是空格

  6. 更新索引

sudo apt-get update

  7.安装软件

sudo apt-get install python-pip
sudo apt-get install python-dev
sudo apt-get install python-imaging

三、pip install类库

  这里先用之前的方法安装好pip。

  1. 在联网主机上找一目录,准备保存所需文件

    我直接创建了一个 /home/python 目录,然后在里面创建一个packages目录。

  2. 安装所需库

pip install scapy
pip install scapy-http
pip install py2neo
pip install numpy
pip install pandas
pip install scikit-image
pip install tensorflow

  3. 打包已安装的库

pip freeze > /home/python/requirements.txt
pip install --download /home/python/packages -r /home/python/requirements.txt

  注意,执行完第一行命令之后产生的 requirements.txt 文件需要删除一些配置,否则第二行无法正常执行。

  我的初始 requirements.txt 文件如下:

absl-py==0.1.9
adium-theme-ubuntu==0.3.4
backports.functools-lru-cache==1.4
backports.weakref==1.0.post1
bleach==1.5.0
cycler==0.10.0
decorator==4.2.1
enum34==1.1.6
funcsigs==1.0.2
futures==3.2.0
html5lib==0.9999999
Markdown==2.6.11
matplotlib==2.1.2
mock==2.0.0
networkx==2.1
numpy==1.14.0
pandas==0.22.0
pbr==3.1.1
Pillow==5.0.0
protobuf==3.5.1
py2neo==3.1.2
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
PyWavelets==0.5.2
scapy==2.3.3
scapy-http==1.8
scikit-image==0.13.1
scipy==1.0.0
six==1.11.0
subprocess32==3.2.7
tensorflow==1.5.0
tensorflow-tensorboard==1.5.0
unity-lens-photos==1.0
Werkzeug==0.14.1

  删除报错部分之后如下:

backports.functools-lru-cache==1.4
backports.weakref==1.0.post1
bleach==1.5.0
cycler==0.10.0
decorator==4.2.1
enum34==1.1.6
funcsigs==1.0.2
futures==3.2.0
html5lib==0.9999999
Markdown==2.6.11
matplotlib==2.1.2
mock==2.0.0
networkx==2.1
numpy==1.14.0
pandas==0.22.0
pbr==3.1.1
Pillow==5.0.0
protobuf==3.5.1
py2neo==3.1.2
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
PyWavelets==0.5.2
scapy==2.3.3
scapy-http==1.8
scikit-image==0.13.1
scipy==1.0.0
six==1.11.0
subprocess32==3.2.7
tensorflow==1.5.0
tensorflow-tensorboard==1.5.0
Werkzeug==0.14.1

  4. 拷贝到离线主机

    将/home/python这个拷贝到离线主机下,路径也是/home/python

  5. 离线安装所有打包好的库

pip install --no-index --find-links=/home/python/packages -r /home/python/requirements.txt

python项目离线环境配置指南的更多相关文章

  1. Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】

    转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...

  2. mac电脑使用,开发环境配置指南

    mac电脑使用,开发环境配置指南 前端工具链,mac下都很好用 用brew来装软件 用brew cask来装应用 Introduction · macOS Setup Guidehttp://sour ...

  3. python+selenium的环境配置

    以前写过关于python和selenium加myeclipse的环境配置,但是myeclipse启动时过于费时,虽然myeclipse有很好的提示功能,但是作为初学者,我还是直接用python的idl ...

  4. Python selenium chrome 环境配置

    Python selenium chrome 环境配置 一.参考文章: 1. 记录一下python easy_install和pip安装地址和方法 http://heipark.iteye.com/b ...

  5. Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】

    转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...

  6. Python Flask 多环境配置

    Python里取配置文件的时候,之前是使用的ini文件和python里configparser 模块: 可参考:https://www.cnblogs.com/feeland/p/4514771.ht ...

  7. 免安装方式的Python之VSCode环境配置

    概述 本文旨在介绍免安装方式,在VSCode中搭建Python(3.73)的配置环境.至于Python是什么.它能做些什么,诸如此类的介绍均不在此文中介绍,相信能看此文的人,多多少少都会有些了解. V ...

  8. python+django+pycharm 环境配置 (window7)

    一.python环境配置 登录python官网,下载windows版的python,本项目使用32位的python2.7.6,下载地址: http://www.python.org/ftp/pytho ...

  9. Python 爬虫2——环境配置

    关于环境配置的操作,其实非常简单,假如不使用第三方的框架的话,只需要安装Python即可完成后续的操作. 一.Python的安装和配置: windows系统的安装配置过程如下,假如是Mac系统,可参考 ...

随机推荐

  1. C#演化过程--各个版本新增加特性

  2. jQuery做字符串分隔

    var str=new String(); var arr=new Array(); str="ddd,dsd,3,dd,g,k"; //可以用字符或字符串分割 arr=str.s ...

  3. 提高SQL查询效率的30种方法

    转载:提高SQL查询效率的30种方法 内容摘录如下: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中 ...

  4. THUSC 2017 D1T2 杜老师

    这是个非常有趣的数学题啦... 其实大概推一推式子就能得到一个信息,就是答案一定是$2$的整数次幂,并且其实答案就是$2^{R-L+1-sum}$,其中$sum$表示有多少个数不能用$L-i-1$的数 ...

  5. 「PKUSC2018」最大前缀和 LOJ#6433&BZOJ5369

    分析: 这个题非常的棒,目测如果去了能AC... 我们考虑一个序列是如何构成的——一个后缀>0的序列,和一个前缀<0的序列 问题可以简化为求出当前缀和为状态S的所有数的和的时候,S满足后缀 ...

  6. 利用IDA6.6进行apk dex代码动态调试

    网上公开IDA6.6已经有一段时间,这个版本有个好处就是可以动态调试java代码.正好现在需要动态调试,所以顺便练习一下. 根据android的官方文档,如果要调试一个apk里面的dex代码,必须满足 ...

  7. test zhenai

    web.Document.InvokeScript("eval",new string[]{"document.getElementById('passwordbt'). ...

  8. Django Rest Framework源码剖析(八)-----视图与路由

    一.简介 django rest framework 给我们带来了很多组件,除了认证.权限.序列化...其中一个重要组件就是视图,一般视图是和路由配合使用,这种方式给我们提供了更灵活的使用方法,对于使 ...

  9. 20155236范晨歌_Web安全基础实践

    20155236范晨歌_Web安全基础实践 目录 实践目标 WebGoat BurpSuite Injection Flaws Cross-Site Scripting (XSS) 总结 实践目标 ( ...

  10. 2017-2018-2 20155315《网络对抗技术》Exp8 :Web基础

    实验目的 理解HTML,学会Web前端.Web后端和数据库编程及SQL注入.XSS攻击测试 教程 实验内容 操作程序规律 运行脚本或可执行文件 查看配置文件 出错找日志 Web前端HTML 能正常安装 ...