检测Python解释器并从WiX安装程序安装sitepackage

2024-09-27 04:20:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在扩展一个基于WiX的现有安装程序,以提供一个pythonapi(我们称之为PythonAPI),它是为一些软件新实现的。我已将必要的文件添加到安装程序中,并将它们放置在适当的位置(例如^{)。我可以通过命令pip安装API

python -m pip install "C:\Program Files\SomeSoftware\PythonAPI"

这允许我通过选择适当的python解释器来选择要为其安装包的python版本。例如,此软件包仅与python3.6及更高版本兼容

我的问题是:如何在WiX的帮助下找到已安装的python解释器,并使用适当的解释器来运行上面的安装命令

最简单的方法是假设PATH中有一个合适的python解释器,但我不想依赖它。相反,我认为最好检查注册表中的键,如

  • HKLM\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\versionnumber\InstallPath

其中versionnumber类似于3.6以获取安装路径并使用此绝对路径访问解释器。但是,如果我正确理解WiX的RegistrySearch特性,就很难扫描多个版本(>=3.6),因为我必须给出完整的密钥路径(在本例中包括versionnumber)。当然,我可以硬代码检查当前可用的版本(3.63.73.8),但这意味着每次出现新的python版本时,我都必须手动扩展它

一旦选择了正确的解释器,我假设可以使用CustomAction来运行上面提到的install命令


Tags: installpip文件命令路径版本pythonapi软件

热门问题