首页 > 解决方案 > 如何使用 cx_Freeze 将目录添加到系统路径环境变量?

问题描述

我已经用 Python 开发了一个应用程序,并且我通过冻结代码来分发应用程序的.execx_Freeze

我的应用程序 ( ) 中的cx_Oracle要求用户将目录添加到PATH环境变量。

有没有办法bdist_msi在安装脚本中使用命令cx_Freeze而无需用户手动执行?

例如,如果我想添加C:\folder1PATH中,我应该如何修改以下代码?

'bdist_msi': {
    'upgrade_code': upgrade_code,
    'add_to_path': True,
    'environment_variables': [
        ("E_MYAPP_VAR", "=-*MYAPP_VAR", "1", "TARGETDIR")
    ]
}

标签: pythonpathenvironment-variablesexecx-freeze

解决方案


尝试

'bdist_msi': {
    'upgrade_code': upgrade_code,
    'add_to_path': True,
    'environment_variables': [
        ("E_MYAPP_VAR", "=-*Path", r"[~];C:\folder1", "TARGETDIR")
    ]
}

请参阅https://github.com/anthony-tuininga/cx_Freeze/blob/master/cx_Freeze/windist.pyadd_to_path中的选项实现以及MSI Environment Table的文档。

但请注意:我尚未测试此代码,丢失现有路径信息可能会阻止计算机根据该文档启动。


推荐阅读