python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题

摘要

网络上有很多关于python多版本共存的文章,但都是python2.7与python3.x共存。我最近一直都用的python3.7,有想体验一下python3.8的新特性,就研究了一下python3.7与python3.8共存的问题,其实挺简单,就是正常安装,然后移动一下系统环境变量,但问题出现了,经过查阅资料,找到了解决办法

安装python3.8.3

这步没什么好说的,去官网下载安装包安装就好了。

实现python3.7.7与python3.8.3共存

1、改名
与python3.7与python2.7共存不同,他俩通过python3与python来区分运行,但对于3.7与3.8,显然他俩都是python3。

于是乎,很简单,改个名。

去python3.8安装文件夹内,修改两个文件。如图。

python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
将这两个名字改成你想要的名字,例如python38.exe,pythonw38.exe
此时在cmd里输入python38,就可以看到python3.8已经可以跑起来了。

2、修改一下环境变量path中两个版本的地址顺序,把你想首先运行的那个版本放在上面。

pip的问题

如法炮制,我们去Scripts文件夹下,把里面pip开头的文件改名,当然不改也是可以的,有现成的多种名字的pip。

然后,cmd里输入pip3.8试一下。。。gg了。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
报错Fatal error in launcher: Unable to create process using '“g:\python38\python.exe” “G:\Python38\Scripts\pip3.8.exe” ’
简单来说,就是找不到python.exe这个文件,因为这个文件刚刚被重命名了。

解决

首先感谢这篇文章:

https://blog.csdn.net/testcs_dn/article/details/54176504

这种方法极其简单粗暴,因为python是开源的,所以里面的东西都是不加壳的,so,直接暴力修改16进制文件,也就是把pip的那些exe文件直接改了,简单粗暴至极。
工具:HEdit,这是一个修改文件16进制内容的软件,只有700多kb,大家直接百度去下载就好,系统防火墙会报毒,忽略就行,这种有点Hacker性质的软件一般都会报毒。

1、打开软件后,点击打开,导入pip3.8.exe文件
打开之后是这样的。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题

看不懂没关系,这玩意鬼才看得到。
只要知道,左边是16进制,右边是16进制翻译过来的东西,眼睛只需要停留在右边就行。

2、点击那个小放大镜,查找字符。
这里我们查找刚刚报错的那个地址,一般查找盘符就差不多能找到。
我这里输入G:,正好定位到了那个报错里的python.exe地址。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
接下来就很明显了,把地址改成刚刚我们重命名之后那个python38.exe的地址。
这里要注意,如果字符数量没变,例如python2.exe改为python3.exe这种,直接按键盘字母改就行,但如果增加了字符,比如这里就是,python.exe改成python38.exe,增加了两个字符,我们要先将光标移至python.exe单词的点处,按Insert键,弹出一个插入窗口,字节数量填2,对应38这个数字的两个字节,点击确定,就可以看到,python这个词后面多了2个点。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
在第一个点处依次写上38,这样地址就修改完了。点击左上角保存,然后退出。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
然后我们在cmd中再次输入pip3.8,看看是不是就可以了,哈哈哈哈。
python3.7与3.8多版本共存,并解决pip运行时Fatal error in launcher: Unable to create process using问题
然后把Scripts文件夹中的所有跟pip有关的exe都这样改一下,别的命名方式就也能用了。

================
补充:其实Scripts文件夹内的pip有关文件都是一模一样的,只是名字不同而已。