python复制已存在的虚拟环境venv,虚拟环境迁移,解决“Fatal error in launcher: Unable to create process using”
如何复制别人的虚拟环境
引言
有的时候我们从github上下载下来的python项目直接带有虚拟环境,尤其是那些需要很多很复杂的包的项目,如果能够获得别人配置好的虚拟环境直接拿来用,就可以省很多事。拿到虚拟环境,需要做一些修改才能顺利食用。
虚拟环境的结构
一个项目的虚拟环境是由以下4个文件或文件夹组成的,如下图
其中Lib
文件夹里存放的就是我们安装的一些第三方库,Scripts
文件夹很重要,它里面的activate
文件是用于激活虚拟环境的,还有pyvenv.cfg
文件是这个虚拟环境的配置文件。
修改步骤
1. 修改pyvenv.cfg
文件里的home
和version
把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
命令激活虚拟环境就大公告成了
更多推荐
所有评论(0)