前言
我从学校机房的项目文件创建了一个虚拟环境,但是我把文件转到自己电脑的时候就发现
(venv) PS D:\xianmu\BuMo_Random_API_web> pip list
Fatal error in launcher: Unable to create process using '"C:\Users\user\Desktop\Mofre\venv\Scripts\python.exe" "D:\xianmu\BuMo_Random_API_web\venv\Scripts\pip.exe" list': ???????????
啊?为什么呢?
先来刨根问底看看报错说了什么
启动器出现致命错误: Unable to create process using '“C:\Users\user\Desktop\Mofre\venv\Scripts/python.exe” "D:\xianmu\BuMo_Random_API_web\venv\Scripts/pip.exe”
于是我查看了三个文章得出以下结果
案例方法1
虚拟环境的结构
这个是虚拟环境的结构
Lib文件夹存放的是我们安装的第三方库
Scripts文件夹很重要,它里面的activate文件是用于激活虚拟环境的
pyvenv.cfg文件是这个虚拟环境的配置文件
修改的步骤
1. 修改pyvenv.cfg文件里的home和version
- home = D:\python\python-3115
指定了虚拟环境所使用的 Python 解释器的根目录
在这个例子中,Python 安装在 D:\python\python-3115 目录下 - include-system-site-packages = false
这一行决定了虚拟环境是否包含系统级别的 Python 包。
如果设置为 false,虚拟环境将不会包含系统级别的 Python 包,即虚拟环境是隔离的。
如果设置为 true,虚拟环境将包含系统级别的 Python 包。 - version = 3.11.5
这一行指定了虚拟环境所使用的 Python 版本。
在这个例子中,使用的是 Python 3.11.5。 - executable = D:\python\python-3115\python.exe
这一行指定了虚拟环境中 Python 解释器的可执行文件路径。
在这个例子中,Python 可执行文件位于 D:\python\python-3115\python.exe。 - command = D:\python\python-3115\python.exe -m venv
这一行记录了创建虚拟环境时所使用的命令。
在这个例子中,创建虚拟环境的命令是 D:\python\python-3115\python.exe -m venv D:\xianmu\BuMo_Random_API_web\venv,即使用 Python 3.11.5 的 venv 模块在 D:\xianmu\BuMo_Random_API_web\venv 目录下创建了一个虚拟环境。
把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 '"C:\Users\user\Desktop\Mofre\venv\Scripts\python.exe" "D:\xianmu\BuMo_Random_API_web\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
案例方法2
还有一种方法也是可以的
首先先重新创建虚拟环境(myenv 可以修改成你想要的名字。)
然后激活环境
python -m venv myenv
然后使用强制安装命令
python -m pip install --upgrade --force-reinstall pip
然后执行pip list,发现之前安装的库都在
文章参考
https://blog.csdn.net/m0_57110410/article/details/131266980
https://blog.csdn.net/qq_29941979/article/details/121524270
https://blog.csdn.net/PSpiritV/article/details/122993602
评论区(暂无评论)