linux python 环境迁移,[python] python 工程利用虚拟环境在windows、linux、不联网的linux服务器上的迁移 总结...

最近需要在一个没有互联网的linux服务器上部署一个python服务。查了一下相关资料,实践可行,总结如下

在一台能够联网的linux机器上,安装python

在python官网,下载指定版本的python

53af8a6ca787a7b53f98af1294947af7.png

点击指定版本链接,找到linux适用的版本,主要是要和没有网的linux服务器的linux版本保持一致吧。

c40ba228864b454411a3aa06bf74a6e3.png

复制Python-3.7.0.tar.xz到linux机器上

解压

xz -d Python-3.7.0.tar.xz

tar xvfPython-3.7.0.tar

进入Python-3.7.0目录

运行./configure

运行make

运行make test

运行sudo make install

在windows机器上生成原有虚拟环境项目的依赖包列表文件

pycharm 如果没有在虚拟环境下,运行项目会自动启动虚拟环境

在项目目录虚拟环境下

pip3 freeze > requirements.txt

将整个项目和requirements.txt文件一起拷贝到linux机器上

在能够联网的linux机器上运行生成虚拟环境

找到安装的python3.7.0

$ whereis python

$ whereis python3.7.0

生成虚拟环境

virtualenv -p /usr/local/bin/python3.7 venv2

venv2为新的虚拟环境目录

进入虚拟环境

source venv2/bin/activate

7f1fd1a5e0c0ed8f6d72a6c178e02571.png

在虚拟环境中安装包

pip3 install -r requirement.txt

为了移植的方便,此处下载了所有需要的包,这里顺便下载virtualenv创建工具virtualenv。

pip3 download -r requirement.txt

pip3 download virtualenv

之后将产生一些.whl的文件

在不能联网的机器上移植虚拟环境

将上述项目,以及requirement.txt和.whl文件copy到不能互联网的机器上。

*************************************************************

比如连接到一台docker镜像上

Terminal1:

docker run --entrypoint=bash -it ca88

Terminal2:

docker ps找到对应的编号

复制文件

docker cp file_name.tar f85f:/home/service

*************************************************************

在此机器上,

通过whereis python3

找到python3目录

生成虚拟环境

virtualenv -p /usr/local/bin/python3.7 venv3

进入虚拟环境

source venv3/bin/activate

安装包

pip3 install -r requirement.txt

退出虚拟环境

Deactivate

运行过程配置环境变量,在项目目录运行

export PYTHONPATH=`pwd`

启动脚本可以写为

#!/bin/bash

work_path=$(dirname $0)

cd $work_path

export PYTHONPATH=$work_path

"venv3/bin/python3.7" src/data_preprocess/b03_http_server.py

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值