解决"pip Fatal error in launcher: Unable to create process using ... "的错误

前言

我的本机上已经有了python的环境了,也装了pycharm编辑器(IDE)。
当时我python2和3版本都装了的,但是现在我忘记了。

所以我需要重新熟悉一下,并且安装anaconda这个IDE。

摘要

本来是想先熟悉一下开发环境,结果发现并解决了一个问题,所以这里就单独拿出来讨论、记录一下:
本文旨在介绍如何在win 10上进行python 2.7 版本和 3.6版本的切换,并解决"pip Fatal error in launcher: Unable to create process using … "的错误(一般是迁移python3.6版本的根目录导致的)。

注意(ATTENTION)

这篇文章是我接触python之初写的一篇文章,可能多有生涩处。后来,有很多热心的朋友们在文章下方提出了一些有用的参考,比本文提出的解决方案更加简单些。

所以,建议看到这篇文章的朋友们先看看下方评论中的解决方案。

熟悉之前的开发环境

1)安装在本机的pycharm信息


在这里插入图片描述
pycharm信息

没想到pycharm里面竟然还有jvm,jdk这种java开发相关的信息,我还以为只能用来开发python程序。



2)安装在本机的python信息


在这里插入图片描述
python信息

看来可以自由在本机中切换python版本,具体参考:[4]
我现在再看下我的环境变量,准备把我的python 3.6 移一下位置。

问:为什么要移动python3.6 的安装根目录呢

  1. 我很好奇,移动了这种软件的根目录之后,是不是只需要改变环境变量就可以正常运行。

  2. 我觉得python3.6的根目录太复杂了,如下图,这么长,再看看python2.7,这么短,所以我想都移到C盘根目录下,以后切换python版本的时候也方便些。

在这里插入图片描述
python环境变量

把python3.6 移到c盘根目录下,对应的,改变环境变量:


在这里插入图片描述
修改python环境变量(迁移python3根目录)

现在试着把C:\Python36\python3.exe改成python.exe
对应的,把C:\Python27\python.exe改成python2.exe
win + R -> cmd -> python --version看一下python版本是不是变成了3.6.

然而,有出错信息:


在这里插入图片描述
转换版本后的出错信息

原因:我在修改环境变量之后,这个环境变量的改变并没有生效.
解决方案:现在我注销一下电脑。然后重新使用pip list命令。
让人遗憾/失望的是,这个并没有生效。还是一样的错误:fatal error。
这时,看到一个网页:[1],发现需要改pip.exe的内容(用notepad或者hexword这类二进制文件编辑器打开就可以修改的)。

于是,我准备修改C:\Python36\Scripts下面的pip.exe和pip3.exe,然而我电脑上没有notepad,只有sublime text 3.这时候我强行用sublime打开,发现没有搜索到关键字C:,自然也没修改pip exe中写入的路径啦。

急中生智,经过一番探索,我发现必须用sublime的utf-8模式来打开,具体操作:左上角工具栏 file -> reopen with encoding -> utf-8,然后选中pip.exe即可:


在这里插入图片描述
sublime可以打开pip.exe并修改。

这一番尝试正好解决了[2]的问题:怎么用sublime打开并修改pip.exe?

此外,科普一下:为什么要修改pip.exe: 因为python3.6在安装的时候有个强制安装目录,我们一般都是默认那个目录安装(好像是user/local/program这种目录,具体忘了),这时候pip.exe和pip3.exe文件里面的路径就是这个目录了,我们如果想迁移这个python3的安装目录,就必须修改pip文件,才能够正常运行pip list等pip相关的命令。

就在我修改完成之后,即把上图中的C:\XXX 修改成C:\Python36\python.exe之后,出现了另外一种错误:


在这里插入图片描述
新的错误已经出现

我一开始以为是sublime的问题,为此我下了notepad(很简单,https://notepad-plus-plus.org/download/v7.5.8.html 直接下 直接下载就行了),还看了[3],参考该文章进行修改,然而还是报错。之前的pip文件又没有备份,很扎心,以为自己要重新下载python3.6版本了。

所以到系统设置中去卸载,结果提示无法卸载?python3.6 is not installed in my computer!

扎心,所以我点击了一下修复按钮:


在这里插入图片描述
点击修改就可以看到repair(修复)这一个按钮

修复过后,我发现可以卸载了,然而!!!我赶紧撤回,cancel,(因为我想确认一下pip的问题是不是也修复了),果不其然,pip可以正常使用了,真是神了。
所以,结论是:通过python3.6版本的修复功能,可以对pip的问题(即pip Fatal error in launcher: Unable to create process using ...)进行修复。

repair按钮如下图:


在这里插入图片描述
python3.6版本的修复功能

真的很神奇。但确实有用。

anaconda研究

这个放在下一篇文章吧,我很好奇anaconda是不是不需要提前安装python环境,直接集成在内部安装包里面。

参考文献

[1] pip Fatal error in launcher: Unable to create process using. https://blog.csdn.net/testcs_dn/article/details/54176504

[2] Fatal error in launcher: Unable to create process using “”C:\Program Files (x86)\Python33\python.exe“ ”C:\Program Files (x86)\Python33\pip.exe“”. https://stackoverflow.com/questions/24627525/fatal-error-in-launcher-unable-to-create-process-using-c-program-files-x86

[3] 升级pip后不能运行的解决办法. https://jingyan.baidu.com/article/2d5afd693d2c7d85a2e28e19.html

[4] win10环境下python下载安装,及一些错误的解决方案. https://blog.csdn.net/weixin_39278265/article/details/80829581

### Jupyter 启动时遇到的致命错误解决方案 当遇到 `Fatal error in launcher: Unable to create process using` 错误时,通常是因为路径配置不正确或环境变量设置有问题。以下是详细的排查和解决办法: #### 1. 检查 Python 和 Scripts 路径 确保 Python 安装目录及其对应的 Scripts 文件夹已正确添加到系统的 PATH 环境变量中。可以通过以下方式验证: - 打开命令提示符并输入 `python --version` 来确认 Python 是否可用。 - 输入 `pip --version` 验证 Pip 是否正常工作。 如果这些命令返回预期的结果,则说明路径已经正确配置;否则需要手动调整环境变量[^2]。 #### 2. 更新或重新安装 PyLauncher 有时此问题是由于 Windows 上使用的 py.exe(PyLauncher)版本过旧引起的。可以尝试更新至最新版或者完全卸载后再重装以排除该因素的影响[^3]。 #### 3. 清理残留注册表项 某些情况下,之前未彻底删除干净的老版本 Python 可能会在注册表里留下干扰新版本运行的信息。建议使用专业的清理工具如 CCleaner 对相关条目进行清除操作[^4]。 #### 4. 使用绝对路径调用脚本 为了避免因相对路径引起的问题,在执行任何涉及 Python 或其包管理器的操作时都应采用完整的文件地址来指定目标程序的位置。例如: ```bash "D:\Python\Python38-64.0\python.exe" -m pip install jupyter ``` #### 5. 创建新的虚拟环境 考虑到现有环境中可能存在冲突或其他未知问题,建立一个新的隔离空间来进行测试不失为一种有效的策略。具体做法如下所示: ```bash python -m venv my_new_env my_new_env\Scripts\activate.bat pip install jupyter ``` 通过上述措施应该能够有效缓解乃至彻底解决问题。值得注意的是,不同用户的实际状况可能会有所差异,因此还需根据具体情况灵活应对。
评论 63
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值