windows - 在 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 的主机上写入这些密钥,是否会对最终用户的操作系统造成损害?
解决方案
推荐阅读
- laravel - 如何从laravel中的另一个表中获取列
- javascript - 如何将数组缓冲区帖子内容转换为原始值?
- java - 以 lambda 形式执行功能接口
- typo3 - 为每个前端插件加载特定的样式表 - TYPO3 Extbase
- python-3.x - 是否可以按照放置顺序对每个单独的列表项运行命令?
- excel - 右对齐字符串的两个部分
- node.js - 将 Cobertura.xml 转换为 html 报告
- c# - 使用 SQL、Lamda 或 LINQ 对数据进行分组
- javascript - 在 Vue.js 中处理 JSON 文件后 JSON 字符无效
- visual-studio - Visual Studio 2019 的材料主题