python复制已存在的虚拟环境venv,虚拟环境迁移,解决“Fatal error in launcher: Unable to create process using”

引言

有的时候我们从github上下载下来的python项目直接带有虚拟环境,尤其是那些需要很多很复杂的包的项目,如果能够获得别人配置好的虚拟环境直接拿来用,就可以省很多事。拿到虚拟环境,需要做一些修改才能顺利食用。

虚拟环境的结构

一个项目的虚拟环境是由以下4个文件或文件夹组成的,如下图
虚拟环境目录结构
其中Lib文件夹里存放的就是我们安装的一些第三方库,Scripts文件夹很重要,它里面的activate文件是用于激活虚拟环境的,还有pyvenv.cfg文件是这个虚拟环境的配置文件。

修改步骤

1. 修改pyvenv.cfg文件里的homeversion

在这里插入图片描述
home改成你的系统里Python安装的路径即可,只需要到python.exe的父目录这一级,version同样对应的改成你系统安装的python的版本,如果你不知道版本是什么,可以打开cmd,使用下面这个命令查看。

python -V

在这里插入图片描述

2. Scripts\activate以及Scripts\activate.bat

activate文件里的VIRTUAL_ENV改成你的项目的虚拟环境所在的目录,注意只到venv这一级即可。
在这里插入图片描述
activate.bat文件里的set VIRTUAL_ENV改成你的项目的虚拟环境所在的目录,注意只到venv这一级即可。
在这里插入图片描述
到这里,如果你在控制台使用venv\Scripts\activate命令激活虚拟环境的话,大概率会出现报错,错误是这样的Fatal error in launcher: Unable to create process using '"E:\Myblog\venv\Scripts\python.exe" "D:\PythonProgram\Myblog\venv\Scripts\pip.exe" list': ???????????

3. 删除Lib\pip

上面这个报错原因好像是pip的二进制文件里的路径没有改回来,但是改二进制文件比较麻烦,所以我的办法是直接去Lib文件夹下把pip的两个相关文件夹直接删除。
在这里插入图片描述
注意Scripts文件夹下有一个或一个以上的pip.exe,这个不要删除

4. 重新安装并更新pip

先直接更新pip试试(-i https://pypi.douban.com/simple/表示使用豆瓣镜像)

python -m pip install --upgrade pip -i https://pypi.douban.com/simple/

如果报错No module named pip,那就先后输入以下两条指令

python -m ensurepip

easy_install pip

然后再更新pip

python -m pip install --upgrade pip -i https://pypi.douban.com/simple/

最后在控制台使用

# 我的虚拟环境的文件夹叫做venv,换成你的项目的虚拟文件夹名字即可
venv\Scripts\activate

命令激活虚拟环境就大公告成了

  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值