python - 如何使用 cx_Freeze 将目录添加到系统路径环境变量?
问题描述
我已经用 Python 开发了一个应用程序,并且我通过冻结代码来分发应用程序的.execx_Freeze
。
我的应用程序 ( ) 中的包cx_Oracle
要求用户将目录添加到PATH环境变量。
有没有办法bdist_msi
在安装脚本中使用命令cx_Freeze
而无需用户手动执行?
例如,如果我想添加C:\folder1
到PATH中,我应该如何修改以下代码?
'bdist_msi': {
'upgrade_code': upgrade_code,
'add_to_path': True,
'environment_variables': [
("E_MYAPP_VAR", "=-*MYAPP_VAR", "1", "TARGETDIR")
]
}
解决方案
尝试
'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的文档。
但请注意:我尚未测试此代码,丢失现有路径信息可能会阻止计算机根据该文档启动。
推荐阅读
- google-apps-script - 重复文件夹和重命名文件结构
- python-3.x - Selenium、Python 和 Chrome Webdriver 问题
- python-3.x - 从需要登录的站点抓取,如何访问内容?
- sql - 计算选定行之间的提前期 (SQL)
- javascript - 为 v-for 中的每个项目呈现一个异步的日期
- c - 在 C 中 - 我将如何使用 scanf 将随机数量的整数存储到二维数组中
- linux - GATT 库直接读取特征值,无需遍历服务
- c# - 在 C# 中单击绘制的形状
- android - setOnNavigationItemSelectedListener 似乎对我不起作用
- javascript - 如何通过 fetch 获取元素?