linux下python程序部署

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

转载于:https://www.cnblogs.com/realnew/p/9645093.html

你可能感兴趣的:(linux下python程序部署)