【发布时间】:2021-04-08 19:55:52
【问题描述】:
我最初在驱动器 D 上安装了 Python。在某些时候,我手动将所有内容从驱动器 D 移动到 C,以便我可以删除驱动器 D 的分区(回想起来,这是个坏主意)。现在我无法卸载 Python,因为安装仍然认为它位于驱动器 D 上。
有没有办法告诉 Python 现在它已安装在驱动器 C 上?或者可能是一种强制卸载的方法?
【问题讨论】:
标签: python windows uninstallation
我最初在驱动器 D 上安装了 Python。在某些时候,我手动将所有内容从驱动器 D 移动到 C,以便我可以删除驱动器 D 的分区(回想起来,这是个坏主意)。现在我无法卸载 Python,因为安装仍然认为它位于驱动器 D 上。
有没有办法告诉 Python 现在它已安装在驱动器 C 上?或者可能是一种强制卸载的方法?
【问题讨论】:
标签: python windows uninstallation
【讨论】:
您不必手动更改注册表中的所有值。有多种方法可以欺骗安装程序为您清理注册表。 其中之一是插入 USB 存储驱动器并将其安装在“D:”下。 您可以在计算机管理下的控制面板中操作驱动器号,在管理工具中可以找到,根据您的Windows版本可以在不同的地方找到。管理工具也可以通过开始菜单获得。
您在“D:”下挂载了一些东西、网络驱动器、USB 驱动器或虚拟驱动器或其他任何东西,复制并粘贴之前手动移动的 Python 文件夹,使用之前使用的相同名称,然后启动安装程序/卸载程序。卸载后,您的注册表是干净的,“C:”上的 Python 和您的旧文件夹名称是免费的。 如果您已经删除了“C:”上的副本,请运行 Python 安装程序,将其指向“D:”,当它询问您是否要覆盖现有的 Python 时,只需执行此操作即可。安装后卸载。
注意:如果您安装了一些库,包括必须向注册表添加某些内容的二进制文件,例如 pywintypes,请转到您的 Python 目录(在一个您安装库的目录下,如果您在移动之前安装了它们,那么在新创建的文件夹,否则在驱动器“C:”上),您将在那里找到每个卸载程序。例如。 Removepywin32.exe、Removepy2exe.exe、Removetwain.exe ...您会发现几乎每个使用二进制安装程序而不是 pip 或手动安装的库安装的卸载程序。它们中的大多数不必为了清理注册表而运行,但有些则需要运行。 Python 卸载程序应该能够自动运行它们,但安全就是安全。
我知道这种卸载方式无需先尝试就可以使用,所以这就是我写的。这是一些工作,但是,您以前不应该如此用力地移动 Python。 当你想做的时候,你要做的是备份 Python 的文件夹(复制粘贴到其他地方),然后卸载它。然后在任何你想要的地方安装新版本(与你删除的版本相同),然后用你的旧文件夹覆盖新安装的文件夹。如果您安装了需要注册表项的库,则必须重新安装它们才能正常工作。但本质上,这是始终有效的过程。
【讨论】:
更改 PATH 环境变量是不够的。我最终将 Computer\HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore 下具有 D: 的每个注册表值更改为 C:。
【讨论】:
您只需要更改新驱动程序的路径,一切都会正常运行 https://datatofish.com/add-python-to-windows-path/ 按照本文中的Manually add Python to Windows Path部分,直到您到达旧路径并将其替换为新路径,然后尝试命令
pip list
在命令提示符下安装所有软件包,如果它工作的话,那么现在你的 Windows 正在识别安装了哪个驱动程序 python。 之后重新启动一切并安全地进行卸载
【讨论】: