A服务器的虚拟环境,迁移到离线服务器B(已安装好anaconda)
设:A服务器的虚拟环境名称为:flask_env
创建虚拟环境
在A服务器data01目录下
使用mkdir创建目录flask_env,用于存放venv环境。
创建虚拟环境:python3 -m venv flask_env
进入环境:cd 存放路径 source bin/activate
安装自己项目需要的环境包:pip install -r requirement.txt
退出:deactivate
打包A服务器的环境flask_env
整个flask_env打包后传到到离线服务器B的目录/xxx/flask_env
cd 到flask项目运行文件app.py
所在目录,启动flask项目:
source /xxx/flask_env/bin/activate # 进入环境
/xxx/flask_env/bin/python app.py或者python app.py # 启动项目
如果没问题,到此结束
如果启动报错:data01/xxx/python:解释器的路径找不到,没有这个文件或目录(因为我们一开始是在data01目录下创建好的环境)
**1、**cd 到A服务器打包的环境flask_env的bin目录下,找出包含解释器目录的文件:
grep data01 *
grep data01 * | awk -F “:” '{print $1}'找出包含data01的文件名
新建文件ttt,保存上述的文件名
新建脚本qq.sh
#!/bin/bash
for line in $(cat ttt)
do
sed -i 's/\/data01\/anaconda3\/envs\/sd-py3/\/home\/zhanghaoran\/sdgczj\/ENV\/sd-py3/g' $line
done;
# 将找不到python的目录/data01/anaconda3/envs/flask_env替换成:环境flask_env在服务器B的目录/home/zhanghaoran/sdgczj/ENV/flask_env
**2、**在bin目录下,查看python解释器的软链接指向是否在闪烁(闪烁说明软链接已失效,删除重新建立,指向服务器B的已有的python解释器路径/或者是已有的虚拟环境的解释器路径)
软链接建立方式略、
3、
-
进入环境:source 环境目录/bin/activate
-
运行项目
**注:**如果运行还是报错没有xxx包,说明环境没有用上。
4、
直接在终端输入python,进入交互式环境。查看自己迁移过来的环境的xxx/lib/pythonxx版本和下面获取的python版本是否一致。如果不一致,cd 到迁移过来的环境目录的lib下,重命名mv pythonxx pythonxxx
>>import site
>>site.getsitepackages()