Windows 右键「打开方式」
虽然标题是右键「打开方式」,但可能会把近期碰到的问题、发现、猜想都揉在一起。
右键中的「打开方式」
之前通过 Scoop 安装了 vscode,用 vscode 打开过 .py
文件,而后又把 vscode 卸载了。我发现,当你右键单击 .py
文件选择打开方式时,会发现残存的东西(如下图),不用说肯定又和注册表有关。
打开注册表编辑器,搜索 C:\Users\Zheng\scoop\apps\vscode\current\Code.exe
在路径 计算机\HKEY_CLASSES_ROOT\py_auto_file\shell\open\command
下发现了相关注册表值,将其删除,问题似乎解决,在这篇文章中也得到印证。但是,这个问题是否真的解决了呢,有没有其他的注册表残留项。问题的关键在于,我对 Windows 注册表不了解,不了解它的文件结构和各部分功能,下次遇到其他问题又得像瞎子一样乱撞,在网络上疯狂查找资料。所以,得了解有关注册表的知识,包括设计思路、演变发展、各部分功能等。
从 CMD 打开文件夹
在解决上述问题的过程中,还学习到了一点,从 CMD 快速打开一些特殊文件夹。
假设说,你当前的 CMD Prompt 是在桌面,即 C:\Users\Zheng\Desktop>
,那么
start .
可以快速打开当前所在目录,start ..
打开的则是用户目录,.
和 ..
和 Linux 中是一致的。
类推,start %appdata%
打开的便是用户程序安装目录,start shell:startup
打开的是「用户启动文件夹」,等等。
关于软件安装位置的困惑
以我 64 位的 Windows 10 系统来说,软件可能安装在如下位置:
C:/Program Files
和C:/Program Files (x86)
C:/Users/<username>/AppData
C:/ProgramData
这些安装位置的不同跟权限和系统架构有着直接关系。很多软件现在都默认安装在用户文件夹下,因为可以实现静默安装,尤其是一些流氓软件。此外,像上面后两个目录默认是隐藏状态的,一般人可能还不容易找到,更别谈修改删除,当然可能这部分(甚至是大部分)用户也不会想要去干点什么。
Scoop 迁移及重装后恢复使用
根据 GitHub issue「How to use scoop after reinstalling the system」及参考该文章(文章作者即为上述 issue 的提出者),步骤如下:
将 Scoop 安装目录完整保存至他处
将上述保存的文件夹放置在目标处
在用户环境变量中,新建一个 SCOOP 变量,值为第二步中 scoop 文件夹地址,如
D:\Scoop
在用户变量 Path 中新增一条,值为第二步中 scoop 文件夹下 shims 文件夹地址,如
D:\Scoop\shims
允许脚本执行:
set-executionpolicy remotesigned -s currentuser
scoop reset *
等待 scoop 重置完
Python 3.8.1 下 Jupyter Notebook 启动报错
原本打算将 Python 转到也使用 Scoop 进行安装,安装完后发现 Python 版本为 3.8.1 并且启动不了 Jupyter Notebook。在网上查到,这一问题跟 tornado 有关并且知道了解决办法。
但是呢,我不想这样做,于是尝试通过 scoop install python37
安装 3.7.6 版本的 Python,安装完后 scoop reset python37
但是 python --version
依然显示 3.8.1。几番尝试之后,无果,作罢,不知道是我的姿势有问题,还是说 scoop reset
目前只支持在 2.7 和 3.x 版本之间切换而不支持 3.7.6 与 3.8.1 版本间的切换?最后,还是采用手动的方式安装 Python 3.7.6,问题解决。Python 和 R 也是为数不多的没有通过 Scoop 进行安装的软件。