使用pip freeze > requirements.txt 命令报错

报错信息:

Fatal error in launcher: Unable to create process using '"D:\pythonProject\virtual_env\django_saas\Scripts\python.exe"  "D:\pythonProject\virtual_env\Django\Scripts\pip.exe" freeze': ???????????  

奇怪的是:我另外一个虚拟环境(未添加Django模块),是可以正确执行的,就是基于这个django的虚拟环境一直失败,我还特意基于这个虚拟环境新建了一个项目,但也是报错

尝试解决:

1、在网上查找,怀疑是由于pip版本问题,经核查无pip2版本,排除

pip list
pip2 list
pip3 list

2、尝试通过更新pip至最新版本解决

安装pip最新版本

python -m pip install --upgrade

升级完成信息

[notice] A new release of pip available: 22.3.1 -> 23.0
[notice] To update, run: python.exe -m pip install --upgrade pip

如果当前已经是最新版本,使用命令强制卸载再安装pip最新版本

python -m pip install --upgrade --force-reinstall pip

完成完成显示信息

Collecting pip
  Using cached pip-23.0-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.3.1
    Uninstalling pip-22.3.1:
      Successfully uninstalled pip-22.3.1
Successfully installed pip-23.0
(Django) PS D:\pythonProject\Djongo\saas> pip -V
pip 23.0 from D:\pythonProject\virtual_env\Django\lib\site-packages\pip (python 3.10)
(Django) PS D:\pythonProject\Djongo\saas> pip freeze > requirements.txt

结果还是报错,失败

3、repair修复python程序

结果:失败

4、将虚拟环境中script文件夹下的activate文件和activate.dat文件中的旧虚拟环境绝对地址改成新地址

经核查,两个文件中的虚拟环境绝对地址确实是旧地址,问题成功定位

为什么会出现这种情况,分析了一下,我对这个环境名进行过修改,导致activate文件中的虚拟环境地址virtual_env依然指向原先的地址

修改绝对地址为新地址,问题解决

(Django) PS D:\pythonProject\Djongo\saas> pip freeze > requirements.txt
(Django) PS D:\pythonProject\Djongo\saas> 

总结:虚拟环境一旦创建,没有必要的情况下,不要重命名虚拟环境名

posted on 2023-02-08 11:52  duqingyong  阅读(728)  评论(0)    收藏  举报