最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天滚动:win11上同时安装多个版本的python

来源:博客园


(资料图片仅供参考)

最近在做车牌识别项目,我的电脑上安装的python3.8+tensorflow2.x,但是网上的很多项目需要python3.6+tensorflow1.15.2,所以我就开始折腾怎么在电脑上同时共存多个python版本,在此记录一下,也希望能帮到其他人

首先先排排雷,我想着装anaconda来管理python,也搜到了网上的相关文章一步步按着教程来,但是安装anaconda的时候就会报错,好不容易ignore错误准备使用,发现conda activate base不管用,网上搜了很多很多教程都没用,shell给出的anaconda init shell(大概就是调用init,可能有点出路),调用完了没解决问题,反而是启动shell的时候一大堆报错,无奈我只能卸载掉anaconda,但是由于没有activate python,我不能下载anaconda cleanup导致我又卸载不干净!总之是一把辛酸泪,我只能把文件卸载了,那些注册表还有写到C盘里的执行文件我就去不掉了,建议大家不要装anaconda直接装所需要版本的python吧。

接下来进入正题(1)安装python3.6我就去python官网选择合适版本下载的,这个大家应该都能在网上搜到,我贴个网址https://www.python.org/downloads/release/python-368/和图在这之后就按步骤安装就好啦,建议建一个专门的文件夹安装python3.6,比如我建了一个名为python3.6.8的文件夹安装在那,并且把环境变量勾选上(2)安装完之后打开powershell使用python会发现有很多报错例如我遇到了类似下面的错误

点击查看代码
Fatal Python error: Py_Initialize: can"t initialize sys standard streamsTraceback (most recent call last):  File "e:\miniconda3\lib\abc.py", line 64, in ModuleNotFoundError: No module named "_abc" During handling of the above exception, another exception occurred: Traceback (most recent call last):  File "e:\miniconda3\lib\io.py", line 52, in   File "e:\miniconda3\lib\abc.py", line 68, in   File "e:\miniconda3\lib\_py_abc.py", line 35    def __new__(mcls, name, bases, namespace, /, **kwargs):                                              ^SyntaxError: invalid syntax
解决方法如下:i)检查环境变量中是否正确添加了安装的两个python路径(有两个,一个是python,一个是下面的scripts),如下图所示

ii)添加了环境变量,命令行输入python还是报错的话,可能是命名冲突的问题,找不到要执行哪个python,我是把python3.6.8文件夹下的python复制粘贴并重命名为python3.exe,同理pythonw.exe也一样改为pythonw3.exe,这样子我输入python3就能进入python3.6.8,输入python就能进我原来的python3.8了(3)检查pip按照网上其他教程还要改pip,but我发现python3.6.8文件夹下的scripts文件夹竟然没有pip文件,我明明在安装python的时候勾选了要安装pip,这也是我百思不得其解的地方,尝试了很多办法安装,最终还得官方的方法让我成功安装上pip,网址放这儿了https://pip.pypa.io/en/stable/installation/

ps这个get-pip.py可以点进去但是不下载的话可以右击链接然后另存为就能保存为py文件了(4)修改环境变量最后就是py get-pip.py安装pip,它会显示出一个位置告诉你pip安装到哪了,我的是安装到C:\Users\31133\Scripts了,这时候你需要把这个安装pip的地址也添加到环境变量PATH中,同时将三个pip复制到C:\Users\31133\python3.6.8\Scripts下面,也就是你安装python没有pip的文件夹下

然后你就能顺利使用python3.6了,不过这时候python3.8就会出问题了,在powershell中输入python和pip都只有python3.6版本,如果想使用会python3.8可能得删除与python3.6相关的环境变量,我目前没有想到什么好的解决方法,大家有好的方法欢迎评论交流~

再顺带解决一个问题,因为我是在pycharm下使用python的,当我把解释器切换到python3.6时会弹出Cannot set up a python SDK at Python 3.6 (untitled5).The SDK seems invalid.,如下图(随便找了一个人类似的错误图)我的解决办法是看下你的python文件夹下有没有python.exe文件,因为我之前直接把python.exe改名为python3.exe,而不是保留python.exe进行复制改名(即文件夹下同时存在python.exe和python3.exe),所以可能pycharm识别不到就安装不了sdk

关键词: 环境变量 执行文件 车牌识别