Python 离线环境
一、应用场景
比如:对于数据安全要求比较严格的机房,服务器是不允许上网的。那么我现在开发了一套python程序,需要一些模块,怎么运行?
二、离线包制作
有2个解决方案:
1. 使用requirement.txt离线安装打包好的包whl
请参考链接:
https://blog.csdn.net/wangyaninglm/article/details/54177720
这种方案,我一直没有测试成功,为什么?
因为某些whl文件,使用pip download下载不来,提示not found
好吧,我果断放弃了!
2. 使用虚拟环境virtualenv
我测试了一下,运行正常!
注意:必须保证服务器,已经安装好了python3和pip3。
如果是ubuntu系统,需要离线安装,请参考链接:
https://www.cnblogs.com/xiao987334176/p/9875480.html
下面详细介绍整个过程!
虚拟环境virtualenv
环境说明
系统是 ubuntu-16.04.5-server-amd64,默认已经安装好了python3,版本为3.5.2
已经安装好了python3-pip,版本为8.1.1
sudo apt-get install -y python3-pip
如果提示
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
使用以下命令处理
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
清理缓存,也就是/var/cache/apt目录下的deb包
apt-get clean all
安装virtualenv
sudo pip3 install virtualenv
提示:
You are using pip version 8.1.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
千万不要执行 pip install --upgrade pip
否则会造成pip崩溃!
创建虚拟目录
sudo mkdir /virtualenvs
创建虚拟环境
进入虚拟目录,创建虚拟环境venv
注意:下面的红色位置,需要根据自己的环境修改
cd /virtualenvs
sudo /usr/local/bin/virtualenv -p /usr/bin/python3 --no-site-packages venv
语法说明:
-p 指定python版本
–no-site-packages表示不包括系统全局的Python安装包,这样会更令环境更干净
指定豆瓣源
#创建目录
mkdir ~/.pip
# 编辑配置文件
vi ~/.pip/pip.conf
内容如下:
[global]
index-url = http://pypi.douban.com/simple
trusted-host = pypi.douban.com
安装相关模块
比如安装模块paramiko
sudo /virtualenvs/venv/bin/pip3 install paramiko
打包虚拟环境
比如打包venv
sudo tar zcvf venv.tar.gz venv
三、离线测试
环境说明
系统是 ubuntu-16.04.5-server-amd64,默认已经安装好了python3,版本为3.5.2
拷贝文件到根目录
插入U盘或光盘,将venv.tar.gz复制到根目录下,解压
sudo mkdir /virtualenvs
sudo tar zxvf venv.tar.gz -C /virtualenvs/
进入python测试
/virtualenvs/venv/bin/python
导入模块 paramiko,实例化SSHClient
>>> import paramiko
>>> paramiko.SSHClient()
<paramiko.client.SSHClient object at 0x7f549e9aca90>
如果没有报错,说明成功了
Python 离线环境的更多相关文章
- Python离线环境
一.应用场景 比如:对于数据安全要求比较严格的机房,服务器是不允许上网的.那么我现在开发了一套python程序,需要一些模块,怎么运行? 二.离线包制作 有2个解决方案: 1. 使用requireme ...
- Eclipse中Python开发环境搭建
Eclipse中Python开发环境搭建 目 录 1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...
- windows 下用eclipse搭建java、python开发环境
本人只针对小白!本文只针对小白!本文只针对小白! 最近闲来无事,加上之前虽没有做过eclipse上java.python的开发工作,但一直想尝试一下.于是边查找资料边试验,花了一天时间在自己的机器上用 ...
- 【转】ubuntu下安装eclipse以及配置python编译环境
原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...
- Windows下Eclipse+PyDev配置Python开发环境
1.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE.Java.C/C++.Android等诸多版本.除此之外,Eclipse还可以通过安装插件的方式进行包括Pytho ...
- 离线环境下安装ansible,借助有网环境下pip工具
环境 有网的机器(192.168.19.222):rhe65,python2.7.13,pip9.0.1 离线机器(192.168.19.203):rhe65,python2.6 FTP(192.16 ...
- Window离线环境下如何安装pyhanlp
Hanlp在离线环境下的安装我是没有尝试过的,分享SunJW_2017的这篇文章就是关于如何在离线环境下安装hanlp的.我们可以一起来学习一下! HanLP是一款优秀的中文自然语言处理工具,可以实现 ...
- Windows下Eclipse+PyDev安装Python开发环境
.简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE方向版本.Java方向版本.C/C++方向版本.移动应用方向版本等诸多版本.除此之外,Eclipse还可以通过安装插件 ...
- python Linux 环境 (版本隔离工具)
python Linux 环境 (版本隔离工具) 首先新建用户,养成良好习惯useradd python 1.安装pyenv GitHub官网:https://github.com/pyenv/pye ...
随机推荐
- 浏览器json数据格式化
在浏览器上作接口测试的时候看到json 格式的数据是密密麻麻的一片,眼睛都花了.. 如: 设置方法: chrome 的右上角选择,然后--- 更多工具--- 扩展程序 ---- JSO ...
- SQL复杂语句查询练习
--复杂查询练习 -- 1 .列出所有员工的年工资,按年薪从低到高排序. SELECT (SAL+NVL(COMM,0))*12 INCOME FROM EMP ORDER BY INCOME; -- ...
- Docker多主机网络 OpenvSwitch
一.Open vSwitch Open vSwitch(以下简称为OVS),英文全称:OpenVirtual Switch,顾名思义,Open vSwitch就是开放虚拟交换.我们可以把他理解成 ...
- ubuntu内核及系统升级
升级之前,需要先确认ubuntu当前系统版本,使用操作: root@Dy-JXQ-ubuntu-101:~# lsb_release -a No LSB modules are available. ...
- 进化论VS中性突变理论
进化论VS中性突变理论 查尔斯·罗伯特·达尔文(英语:CharlesRobert Darwin,1809年2月12日-1882年4月19日),英国生物学家,其“进化论”被列为19世纪自然科学的三大发现 ...
- day10 浅谈面向对象编程
面向对象编程:第一步找名词,名词是问题域中的. 第二步概括名词设计成类.某些名词可以浓缩包含到其它名词中,成为其属性. 第三步找动词,动词也是问题域中的. 第四步概括动词设计成方法.动作的产生往往 ...
- 对硬盘进行分区时,GPT和MBR有什么区别?
在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...
- Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)
快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...
- 为什么JavaScript声明变量的时候鼓励加var关键字
在JavaScript中,var用来声明变量,但是这个语法并不严格要求,很多时修改,我们可以直接使用一个变量而不用var声明它. var x = "XX"; y ="xx ...
- 训练赛第一场D题
解题报告:一开始不知道ATA的意思,后来才知道原来是转置矩阵乘以原来的矩阵.这题说起来比较麻烦就不说了,直接上代码: #include<cstdio> #include<cstrin ...