目的:直接打包迁移anaconda中的python环境
将anaconda中的python虚拟环境,从一台服务器,直接“拷贝”到另一台服务器中。如果重新安装环境,python依赖的各个包还要重新下载安装一遍,贼麻烦!
前提介绍
Ubuntu16.04
anaconda3.5
迁移目标:python3.6(即上图中的env1)
anaconda可以管理多个虚拟环境,在anaconda/envs目录下。假如服务器1上,我们有5个python环境(如上图),我们现在要把env1,复制到新的服务器2上。
迁移过程
- 将服务器1上的anaconda/envs/env1,复制一份到服务器2的anaconda/envs下.
- 修改pip文件。pip具体路径:anaconda/envs/env1/bin/pip
第一行中的python绝对路径需要修改正确!!!(否则pip install 报错)
#!/home/njlz/anaconda3/envs/uphead/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
注:暂时只遇到pip的问题,也许会出现anaconda/envs/env1/bin/目录中其他的执行命令的报错,大概率也是类似的原因。