python环境离线复制_python项目离线环境配置指南

参考文献:

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.9adium-theme-ubuntu==0.3.4backports.functools-lru-cache==1.4backports.weakref==1.0.post1

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

删除报错部分之后如下:

backports.functools-lru-cache==1.4backports.weakref==1.0.post1

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

4. 拷贝到离线主机

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值