本次重装从3.9.7升级到3.10,主要还是不喜欢那种安装版的感觉,于是换了解压版.

不多逼逼,直接讲细节吧!当你在命令行输入python时,无非两种情况:进入python或者是启动了应用商店.我就是在后者的微软应用商店里下载的Python,但因为这玩意版本之间存在不兼容,所以3.9.x可以自动升级,因为是上一个版本的补丁.但不能升级到3.10,因为兼容的原因.

破而后立

既然是重新安装,那我首先要备份我之前下载过的第三方包才行,命令行运行pip freeze > backup.txt先保存我安装过的第三方包以及其版本信息,内容大概这样:

pip        21.3.1
setuptools 59.6.0
wheel      0.37.0

当我打开下载Python的应用商店时发现只有更新选项,找不到卸载就nm离谱,于是去百度一番,在微软官网找到了解决方法,但没完全找到,具体原因看图片:

2021-12-15T09:23:49.png
独立顾问就这?

但这给了我思路,我在设置=>应用里找到了卸载入口,因为我已经卸载了所以拿别的软件代替一下

2021-12-15T09:25:58.png

获取Python安装包

直接上官网python.org下载就行了,我选择的是解压版

不管是安装版还是解压版,都不建议安到C盘(应用商店的就是安在C盘里很深的目录下,而且文件名字很复杂)

修改环境变量

对我来说是轻车熟路了.

此电脑=>属性=>高级系统设置=>高级=>环境变量=>PATH(大小写可能不一样,不需要改)=>添加Python的安装路径根目录,末尾加反斜杠\

正常来说这样就完成了,但是测试后发现在Python根目录下正常进入Python,但其他目录会启动应用商店,解决办法是修改%USERPROFILE%\AppData\Local\Microsoft\WindowsApps,直接删除即可,但不建议.因为回头还是会自己创建这个东西.总之把带WindowsApps字眼的环境变量直接移到最后就行了,这样Python或者其他东西的环境变量就不会被覆盖了.

测试后发现在其他路径也能正常打开Python

包管理器PIP安装

痛苦,这个我搞了还是比较久的.首先要去https://bootstrap.pypa.io/get-pip.py获取这个文件.直接浏览器访问等待其加载完毕复制粘贴到txt中即可,看到最底下的main()函数就说明加载完了.然后把文件名改成get-pip.py这样,再命令行运行这段代码就可以看到警告了,执行pip命令还可以看到报错,真好.

因为我已经安装成功了,上不了报错截图,所以这里用『绯红之王』跳过了.

虽然上面会出现警告,但是在根目录下可以看到出现了LibScripts两个文件夹.根据上面命令行中给出的信息得知大概是缺少了一个环境变量,进入Scripts文件夹复制当前路径,粘贴到环境变量中(和上面一样,也是放到PATH里),命令行再次执行,发现还是报错.执行python -m pip显示没找到pip模块,但在Scripts文件夹中发现已经有了pip.exe,进入Scripts文件夹启动命令行执行pip也一样.

最后扒拉了很久的文章,终于找到了解决方法:记事本打开根目录下的python310._pth,在#import site下添加一行Lib/site-packages就可以了!

python310.zip
.

# Uncomment to run site.main() automatically
#import site
Lib/site-packages

重新安装第三方包

找到开头备份的backup.txt,在命令行输入pip install -r "backup路径" -i https://pypi.tuna.tsinghua.edu.cn/simple some-package,把双引号内的内容替换成备份文件路径(相对绝对都可).路径直接把文件拖入命令行就会自动填充了,不需要手打.

2021-12-15T10:07:09.png
至此,Python已经完成了重新安装.

Tips:上面使用的是国内镜像,其他的软件包管理也推荐使用镜像,国外速度感人

后记

两天后的我又回来补充了.

目前发现了点小问题,PIP安装的包是可以正常使用的,但是我自己编写然后通过import引用就会出现ModuleNotFoundError,目前还没解决.主要是最近也懒得写Python了,等要用的时候再说.

解决:

import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(curPath)

像这样把当前文件夹目录给临时添加到 sys.path 就好了.同样的,换个目录也可以引用其他文件夹里的 .py 文件.

另外再说一下,之前不知道什么情况,pip又炸了,命令行显示这个不是命令.最后是重新运行了一次 get-pip.py才好的,莫名其妙.

最后的最后:不愿折腾就用安装版吧,我都有点怕了.