首页 > 解决方案 > 在 Windows 注册表中模拟 Python 安装

问题描述

我正在开发一个基于 Python 2.7 的应用程序,它将使用 Pyinstaller 分发到 Windows 机器上。该应用程序使用第三方 API。

我可以满足所有 API 的依赖要求。它不需要在主机上安装 Python 2.7。

但是,API 会崩溃,除非它可以找到通常由 Windows Python 2.7 msi 安装程序设置的这些 Windows 注册表项:

[HKEY_CURRENT_USER\Software\Python]

[HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7]

[HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7\InstallPath]
@="C:\\python27"

[HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7\PythonPath]
@="C:\\python27;C:\\python27\\Lib\\;C:\\python27\\DLLs\\"

我可以通过将上述内容删除或添加到注册表来使 API 崩溃或随意运行。

我测试了手动设置这些键对 Python 2.7 的未来安装或 Windows 添加/删除程序功能没有不良影响。

我对 Windows 注册表知之甚少。如果我的应用程序在缺少 Python 2.7 的主机上写入这些密钥,是否会对最终用户的操作系统造成损害?

标签: windowspython-2.7registry

解决方案


推荐阅读