1、安装python

2、安装virtualenv

https://blog.csdn.net/mulangren1988/article/details/59106682

3、指定virtualenv的python

命令样例

## 推荐这种方式

/home/ec2-user/dev/python/bin/python ~/dev-tools/virtualenv-15.1.0/virtualenv.py  ~/pyenv

在想要建立虚拟环境的目录下运行

/app/python3/bin/python3 /app/virtualenv-15.1.0/virtualenv.py --no-site-packages /app/xmlbuilder/

解释

/app/python3/bin/python3 是python的安装位置

/app/virtualenv-15.1.0/virtualenv.py 是virtualenv的可执行文件目录

--no-site-packages 表示纯净安装,不引用任何已安装的包

/app/xmlbuilder/ 虚拟环境的文件夹

4、在源virtualenv里面执行命令

pip list 查看当前已经安装的包

pip freeze > requirements.txt 保存当前依赖包清单,默认保存在执行命令时的目录下

一般习惯放在bin目录下

5、执行命令,下载安装包

pip download -r requirements.txt --index-url=https://pypi.python.org/pypi -d /Users/jesse/PycharmProjects/oracletest/packages/

其中 requirements。txt 是上一步生成的依赖包清单

-d 是指定目录

后面是指定的目录,一般习惯放在工程文件夹的根目录,也就是和venv平级的目录

6、将安装包文件夹拷贝到目标位置,执行下列命令进行安装

pip install -r requirements.txt --no-index --find-links file:/app/xmlbuilder/transforpack2linux

解释:

--no-index 不使用在线索引下载

--find-links file:/app/xmlbuilder/transforpack2linux 文件包所在的目录

执行安装的时候,可能会报错,比如

Could not find a version that satisfies the requirement numpy==1.15.1 (from -r requirements.txt (line 7)) (from versions: )

No matching distribution found for numpy==1.15.1 (from -r requirements.txt (line 7))

采用手动方式逐个安装

pip install xxx.whl

到出问题的文件,实际的错误是

lxml-4.2.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl is not a supported wheel on this platform.

实际上其文件名也说明了问题,由于开发环境是osx系统,所以下载的是mac版本的依赖包

所以需要到

https://pypi.org/

下载对应的linux版本的依赖包

依赖包的名称有严格的要求,从下载到安装之所以能自动完成,完全依靠这个标准

多个版本放在一起,pip也能识别出来正确的

小结一点:如果开发环境和部署环境完全一致的话(稳妥起见最好操作系统小版本也一致),如此可以将原来的virtualenv直接拷贝到部署环境上,是可以直接运行起来的。

其他虚拟环境迁移方式

https://blog.csdn.net/qq_34146899/article/details/52454616

linux下python程序部署的更多相关文章

  1. Linux下Python 文件内容替换脚本

    Linux下Python 文件替换脚本 import sys,os if len(sys.argv)<=4: old_text,new_text = sys.argv[1],sys.argv[2 ...

  2. Linux下python安装升级详细步骤 | Python2 升级 Python3

    Linux下python升级步骤  Python2 ->Python3 多数情况下,系统自动的Python版本是2.x 或者yum直接安装的也是2.x 但是,现在多数情况下建议使用3.x 那么如 ...

  3. linux下c程序调用reboot函数实现直接重启【转】

    转自:http://www.blog.chinaunix.net/uid-20564848-id-73878.html linux下c程序调用reboot函数实现直接重启 当然你也可以直接调用syst ...

  4. Linux下C程序的编辑,编译和运行以及调试

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  5. 在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  6. 位图文件(BMP)格式以及Linux下C程序实现(转)

    源:位图文件(BMP)格式以及Linux下C程序实现 说到图片,位图(Bitmap)当然是最简单的,它是Windows显示图片的基本格式,其文件扩展名为*.BMP.由于没有经过任何的压缩,故BMP图 ...

  7. linux下实现自动部署tomcat的脚本

    linux下实现自动部署tomcat的脚本 由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务.备份war包.上传新的war包.启动服务.索性就写了一个自动部署的脚本. 脚本如下a ...

  8. Linux下Tomcat同时部署两个工程然而只有一个能访问问题

    Linux下Tomcat同时部署两个工程然而只有一个能访问问题 问题: Linux下单个部署到Tomcat下的时候都正常,两个一起部署,只有一个能访问: 解决方案: 由于采用#./shutdown.s ...

  9. Linux下C程序内存泄露检测

    在linux下些C语言程序,最大的问题就是没有一个好的编程IDE,当然想kdevelop等工具都相当的强大,但我还是习惯使用kdevelop工具,由于没有一个习惯的编程IDE,内存检测也就成了在lin ...

  10. 在linux下用tomcat部署java web项目的过程与注意事项(转)

    在linux下用tomcat部署java web项目的过程与注意事项一.安装JDK到http://www.oracle.com/technetwork/java/javase/downloads/in ...

随机推荐

  1. python logging模块学习

    logging 是对程序运行中的日志进行输出记录,用户在程序中设置在哪个地方输出什么信息,方便进行之后问题的排查. logging输出有两种方式:输出至控制台 . 输出至文件 输出至控制台: impo ...

  2. IDEA debug时拷贝数据 Evaluate Expression窗口

    今日份鸡汤:别人再好,也是别人.自己再不堪,也是自己,独一无二的自己.只要努力去做最好的自己,一生足矣.为自己的人生负责,为自己的梦想买单. 用IDEA调试时候经常需要拷贝变量值出来排查,特别是数据结 ...

  3. .net ef 链接 mysql

    https://blog.csdn.net/weixin_30394975/article/details/114168133

  4. python中的链表推导式

    python中的链表推导式 博客分类: Python Python  num=[1,2,3] myvec=[[x,x*2] for x in num] #嵌套一个链表,格式为一个数和他的平方 prin ...

  5. dp泄露

    DP泄露 选了三道与RSA的dp泄露有关的题,dp泄露算是比较有辨识度的题型. 目录 DP泄露 原理 ctfshow funnyrsa3 分析 解答 BUUCTF RSA2 分析 解答 [羊城杯 20 ...

  6. 【ZYNQ学习】ZYNQ简介与Vivado使用

    从本篇文章开始,就来记录一下ZYNQ的学习,本篇博客主要介绍ZYNQ是什么以及在vivado中创建一个ZYNQ工程的过程,其中的知识大部分来自于正点原子的ZYNQ教程,感兴趣的可以去看一下他们家的参考 ...

  7. Linux7重置root管理员密码

    1.先确定是否为rhel 7系统(别的系统我没有试过,请慎重尝试) cat /etc/redhat-release 查看Linux的操作系统 2.按键盘e键进入内核编辑界面 3.找到linux16这行 ...

  8. gash 支付方式

    首先客服人员会提供相应的支付demo代码,可根据此来处理 值得说的是 每次支付成功后 他会主动给你在后台设置的回调地址发送信息  你也要相应的返回对应的信息  发送过来的密文 有时会解密失败 可根据他 ...

  9. Java 多线程 术语

    并行和并发:并发偏重于多个任务交替执行.并行是真正意义上的"同时执行".但两者的最终效果是一样的: 同步和异步:同步是指在同一时间里,一个同步方法调用后需要返回后,才能继续后续的行 ...

  10. Mysql--查询"01"课程比"02"课程成绩高的学生的信息及课程分数

    今天在写Mysql代码作业时,写到这个题,感觉值得分享!!!!!!! 查询"01"课程比"02"课程成绩高的学生的信息及课程分数 分析如下: 首先先查询&quo ...