使用 cx_freeze 和 bdist_msi 为 PySide 应用程序创建 MSI

2023-12-01

我有一个 PySide 应用程序,正在尝试使用 cx_freeze 将其打包到 MSI 中。我可以成功创建 MSI 安装程序,但我无法弄清楚如何列出要包含在包中的其他模块。这是我的setup.py script:

import sys
from cx_Freeze import setup, Executable

company_name = 'My Company Name'
product_name = 'My Gui'

bdist_msi_options = {
    'upgrade_code': '{66620F3A-DC3A-11E2-B341-002219E9B01E}',
    'add_to_path': False,
    'initial_target_dir': r'[ProgramFilesFolder]\%s\%s' % (company_name, product_name),
    # 'includes': ['atexit', 'PySide.QtNetwork'], # <-- this causes error
    }

# GUI applications require a different base on Windows
base = None
if sys.platform == 'win32':
    base = 'Win32GUI'

exe = Executable(script='MyGui.py',
                 base=base,
                 icon='MyGui.ico',
                )

setup(name=product_name,
      version='1.0.0',
      description='blah',
      executables=[exe],
      options={'bdist_msi': bdist_msi_options})

我可以使用命令成功创建 MSI

python setup.py bdist_msi

但根据文档为了打包 PySide 应用程序,我需要包含模块atexit and PySide.QtNetwork。我尝试通过添加来做到这一点'includes' key to bdist_msi_options,但取消注释该行会导致以下错误:

running bdist_msi
error: error in setup script: command 'bdist_msi' has no such option 'includes'

如何将这些模块与生成的可执行文件一起包含在内?


我在 cx-freeze 邮件列表上发布了同样的问题,并收到了一个答案.

The 'includes' and 'packages'选项用于'build_exe'命令,因此对 setup 的调用需要包含这两个命令。

bdist_msi_options = {
    'upgrade_code': '{66620F3A-DC3A-11E2-B341-002219E9B01E}',
    'add_to_path': False,
    'initial_target_dir': r'[ProgramFilesFolder]\%s\%s' % (company_name, product_name),
    }

build_exe_options = {
    'includes': ['atexit', 'PySide.QtNetwork'],
    }

...

setup(name=product_name,
      version='1.0.0',
      description='blah',
      executables=[exe],
      options={
          'bdist_msi': bdist_msi_options,
          'build_exe': build_exe_options})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 cx_freeze 和 bdist_msi 为 PySide 应用程序创建 MSI 的相关文章

  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • 我可以在我的机器上同时安装 python 2.7 和 3.5 的tensorflow吗?

    目前我通过 Anaconda 在我的机器 MAC OX 上安装了 Python 2 7 Python 3 5 Tensorflow for Python 3 5 我也想在我的机器上安装 Tensorflow for Python 2 7 当
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 如何在 MacBook Pro 上的 Docker 容器内运行 tkinter?

    我正在尝试运行一个使用以下命令的 python GUI 应用程序tkinter我的 MacBook Pro 上的 docker 容器内的模块 所以我安装了XQuartz https www xquartz org 并跟随本教程 https
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 为什么 Pickle 协议 4 中的 Pickle 文件是协议 3 中的两倍,而速度却没有任何提升?

    我正在测试 Python 3 4 我注意到 pickle 模块有一个新协议 因此 我对 2 个协议进行了基准测试 def test1 pickle3 open pickle3 wb for i in range 1000000 pickle
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • python import inside函数隐藏现有变量

    我在我正在处理的多子模块项目中遇到了一个奇怪的 UnboundLocalError 分配之前引用的局部变量 问题 并将其精简为这个片段 使用标准库中的日志记录模块 import logging def foo logging info fo
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都

随机推荐

  • 确定 2 个列表是否具有相同的元素,无论顺序如何? [复制]

    这个问题在这里已经有答案了 抱歉这个简单的问题 但我很难找到答案 当我比较两个列表时 我想知道它们是否 相等 因为它们具有相同的内容 但顺序不同 Ex x a b y b a I want x y评估为True 您可以简单地检查包含 x 和
  • 通过查询参数选择 Jersey 方法

    我需要实现一个使用第一个查询参数来识别操作的网络服务 即客户端调用将类似于 http localhost 8080 ws operation info or http localhost 8080 ws operation create n
  • RDS数据库的本地副本

    在过去一个小时左右的时间里 我一直在进行一些研究 并且听到了一些有关 Amazon RDS 数据库复制的相互矛盾的信息 我的数据库相当大 有 15 个表 总大小为 4 GB 那么 基本上 我是否可以创建远程 RDS InnoDB 的本地副本
  • 常驻后端 Google App Engine“/_ah/background”(Python)

    有人可以帮我理解谷歌应用程序引擎 Python 中的 ah background 是什么吗 我有一个正在运行的常驻后端 并且我看到向该端点发出的请求 它们似乎是由我的代码之外的某些东西生成的 它们似乎也由我的 ah start 处理程序处理
  • 为什么将 0.1f 更改为 0 会使性能降低 10 倍?

    为什么这段代码 const float x 16 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 const float z 16 1 123 1 234 1
  • 如何使用 DefaultEditor 方法检查 JSpinner 字段上的手动编辑

    我正在从这里调整代码 JTextField 的值更改侦听器 EDIT 2 当我按下向上微调箭头时 以下代码会出现无限循环的对话框 细绳 字符串 10 值 10 细绳 字符串 10 值 10 细绳 字符串 10 值 10 警告您需要使用任务管
  • Alamofire自定义参数

    我正在尝试将这个curl 调用转换为Swift 中的Alamofire curl X POST https content dropboxapi com 2 files download header Authorization Beare
  • 如何在 T-SQL 中获取版本号 (varchar) 列的最大值

    我有一个这样定义的表 Column Version Message Type varchar 20 varchar 100 Row 1 2 2 6 Message 1 Row 2 2 2 7 Message 2 Row 3 2 2 12 M
  • 如何在mvc中的jquery中使用@符号

    我正在尝试在 if 条件下在 javascript 中使用 符号 但它向我显示了一个错误 if password match alert yes strength 1 It is Showing me this error 您可以输入两次
  • 在 Windows 中为 Python 设置 Pocketsphinx

    有人可以帮助我在 Windows 中构建 pocketsphinx 语音识别吗 我在理解 sphinx 中提供的指令时遇到困难page 我想开发一个语音控制的计算机自动化应用程序 我正在使用 Python 我不知道如何安装sphinx 以便
  • cython可以用icc编译吗?

    我正在尝试在 Ubuntu 14 04 上使用 icc 编译器从源代码构建 cython 因为我的 python 是使用 Intel icc 编译器编译的 当我尝试使用安装 cython 时pip3 安装 cython然后运行 cython
  • 表排序后函数停止工作

    我当前有一个通过引导集成按数据表排序的表 在我的最后一栏中 我有一个按钮组 编辑 完成等 单击时应该调用函数 这些按钮是在 php while 循环中使用此代码创建的 其中 data id 是 javascript 需要接收的变量 echo
  • 模拟Verify()调用

    我正在进行单元测试以查看是否调用了方法 Fact public void Can Save Project Changes Arrange var user new AppUser UserName JohnDoe Id 1 Mock
  • 通过拖放上传文件

    好吧 这是我的问题 我需要能够让用户将多个图像从定位文件系统拖到 flash flex html5 应用程序上 然后该应用程序将获取文件名详细信息并联系服务器 服务器响应后上传文件 假设服务器验证已通过 我知道这可以用 Java 完成 但这
  • 出现错误“运算符‘+=’对于‘Vector3’和‘Vector2’类型的操作数不明确”

    在尝试构建时我收到此错误 运算符 对于 Vector3 和 Vector2 类型的操作数不明确 这是问题所在的脚本的代码 using System Collections using System Collections Generic u
  • Android studio中POST请求示例

    我几天前刚开始学习 android 在将 JSON 数据上传到服务器时遇到问题 我设法通过以下代码检索它 编辑 我确实设法使用外部 OKHTTP 库检索文件 但我想在不使用外部库的情况下执行此操作 package cc demorest i
  • Hibernate 5 + Glassfish 4.1.1: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V

    当我将 Hibernate 5 添加到我的网站时 我无法让它在 Glassfish 4 1 1 中运行 我总是收到错误 java lang NoSuchMethodError org jboss logging Logger debugf
  • 如何控制显示哪些监视器图?

    我有一个运行 MATLAB 的 3 显示器 Gentoo Linux 系统 MATLAB 在中央显示器上运行 我需要 MATLAB 在左侧监视器上生成绘图 但它总是在右侧监视器上绘图 我相信这至少部分是由于我对显示器进行物理排列的非标准方式
  • SQL 中的互斥锁模拟?

    我有多个线程 执行类似的查询 他们不应该同时被处决 为此 我可以从 ADO Net 客户端创建和检查互斥体 但出于某种原因 我更喜欢使用 SQL 来执行此操作 是否可以 Regards 是的 SQL Server 2005 中的应用程序锁
  • 使用 cx_freeze 和 bdist_msi 为 PySide 应用程序创建 MSI

    我有一个 PySide 应用程序 正在尝试使用 cx freeze 将其打包到 MSI 中 我可以成功创建 MSI 安装程序 但我无法弄清楚如何列出要包含在包中的其他模块 这是我的setup py script import sys fro