解决迁移anaconda虚拟环境到新机器后pip无法使用

问题描述

假设一个场景,你有两台相同配置的机器(注意这一点,因为配置不同的机器在迁移GPU环境时可能会出现其他的错误),现在你把机器A上安装好的conda虚拟环境拷贝到机器B上。那么会出现类似如下的报错:
bash:/root/anaconda3/envs/pytorch_gpu/bin/pip:/home/software/anaconda3/envs/ssast/bin/python:解释器错误: 没有那个文件或目录
这就是迁移后pip无法使用的问题。

解决方案

  1. 首先,将机器B上的环境切换到拷贝的环境下;
  2. 其次运行pip命令,出现上述红色的报错;
  3. 根据提示的报错信息,使用如下命令:
# 报错信息的前半段路径
gedit /root/anaconda3/envs/pytorch_gpu/bin/pip
  1. 打开的文件类似如下:
#!/home/software/anaconda3/envs/ssast/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())
  1. 把第一行代码改掉,改称当下环境所处的安装目录,以上述代码为例,改为报错信息的后半段路径:
#!/root/anaconda3/envs/ssast/bin/python
  1. 保存文件,然后再次运行pip命令,发现不再报错,可以使用了。

你可能感兴趣的:(python,pip,python,开发语言)