使用virtualenv发布Python程序
客户环境不能上网,开始想把所有依赖包下载下来,进入客户环境进行安装。但为了避免出差,部署工作交给其他同事了,我想还是需要更简单的方式。
实验了一下virtualenv是可以的
1. 创建一个新的环境(改为virtualenv --no-site-packages ENV,不复制全局的包进来)

新环境在目录ENV中
2. 进入到新环境

3. 安装程序及其依赖包
把我们的程序考到pub3目录下
并执行pip install -r requirements.txt安装所有的依赖包
4. 让ENV这个目录可以改变位置
Make an EXISTING virtualenv environment relocatable.
This fixes up scripts and makes all .pth files,
relative (改成相对路径)

这一步是必要的,如果不做,必须保证新的环境上ENV所在的路径与打包机完全一致。因为,像pip这样的工具内会有绝对路径,如python解析器地址。
如果执行了relocatable就可以至于任意目录了
5. 修改ENV/bin/activate中存在的绝对路径

改为

6. 压缩pub3目录发布
-----------------------------------------------
在客户环境部署
7. 解压并进入pub3
8. 进入python虚拟环境
cd xxx/xxx/ENV
source bin/activate
若第5步改成了pwd的话,一定要进入ENV目录后,执行source bin/active。否则无法正确进入虚拟环境
执行完后,测试一下虚拟环境,看是否引用的是虚拟环境中的python/pip等
which python
which pip
9. 运行程序就可以了
使用virtualenv发布Python程序的更多相关文章
- 利用setuptools发布Python程序到PyPI,为Python添砖加瓦
pip install的东西从哪里来的? 从PyPI (Python Package Index)来的,官网是: https://pypi.python.org/pypi/执行pip install ...
- 使用pycharm发布python程序到ubuntu中运行
前提条件: 1.ubuntu安装了vsftpd,可以参考:https://www.cnblogs.com/xienb/p/9322805.html 2.安装专业版pycharm 步骤: 1.新建一个P ...
- 第一章 Python程序语言简介
第一节 Python概述 1. 什么是Python Python是一种 解释型.面向对象.动态数据类型 的高级程序设计语言.由Guido van Rossum与1989年发明,第一个公开发行版本发行于 ...
- jenkins结合supervisor进行python程序发布后的自动重启
jenkins结合supervisor进行python程序发布后的自动重启 项目背景: 通过jenkins发布kvaccount.chinasoft.com站点的python服务端程序,业务部门同事需 ...
- Sublime Text3 以及 SublimeREPL使用Virtualenv执行python
1. SublimeText3 安装Virtualenv插件(Crtl+Shift+P) 2. 新建python虚拟环境: Crtl+Shift+P,选中Virtualenv:New选项,在底部Vir ...
- 改善python程序的建议[转]
<编写高质量代码 改善Python程序的91个建议> <编写高质量代码 改善Python程序的91个建议>读后程序学习小结 - BigDeng_2014的专栏 - CSDN博客 ...
- 第一个 Python 程序
## 目标 * 第一个 `HelloPython` 程序* `Python 2.x` 与 `3.x` 版本简介* 执行 `Python` 程序的三种方式 * 解释器 —— `python` / ` ...
- 发布python包
写python程序时常常要导入各种包,使用其中的模块或功能.我们如果有可以复用的功能或模块也可以发布成包,并安装在自己或他人电脑上,以供自己或别人使用.python发布包的步骤如下: 一.首先为模块创 ...
- 想拥有自己的Python程序包,你只需15步
来源商业新知网,原标题:15步,你就能拥有自己的Python程序包 全文共 3192 字,预计学习时长 6 分钟 每个软件开发员和数据科学家都难免要做程序包.本文推荐一篇 Python开源程序包的制作 ...
随机推荐
- linux命令系列-tar(打包压缩)
tar命令可以为linux的文件和目录创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的. 首先要弄清两个概念: ...
- delphi Copy函数 和 Pos函数
copy(a,b,c); a:就是copy源,就是一个字符串,表示你将要从a里copy一些东西, b:从a中的第b位开始copy(包含第1位), c:copy从第b位开始后的c个字符, 例如: m:= ...
- delphi 获得系统目录
利用Api函数,现在我介绍两个Api函数,利用他们就可以轻松简单的获取这些特殊系统目录. Function SHGetSpecialFolderLocation(hwndOwner: HWND; nF ...
- thinkphp 缓存驱动
缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC.Db.Memcache.Shmop.Sqlite.Redis.Eaccelerator和Xcache缓存方式 ...
- cookie中文转码
//cookie中文转码 var GB2312UnicodeConverter = { //转码 ToUnicode: function(str) { //中文转unicode return esca ...
- poi之Excel(在线生成)下载
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. poi之Excel下载 @RequestMappi ...
- (转)使用Apache的ab工具进行压力测试
转:http://www.cnblogs.com/luckyliu/archive/2012/03/04/2379306.html Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境, ...
- SpringAOP中的注解配置
使用注解实现SpringAOP的功能: 例子: //表示这是被注入Spring容器中的 @Component //表示这是个切面类 @Aspect public class AnnotationHan ...
- 解决WIN8输入法的问题,Ctrl+空格,Ctrl+Shift,切换问题
在WIN8中,我们曾经熟悉的的Ctrl+空格和Ctrl+Shift消失了,取而导致的是WIN+空格. 在这里先简单解释一下WIN8的输入法结构: 在WIN7以前的输入法中,输入法采用了平行目录的结构, ...
- Docker学习のWindows下如何访问Docker本身的虚拟机
获取可访问Docker守护程序的容器 docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongalla ...