Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从带有qt框架(pyside2)的python项目中正确地使用cx_冻结生成.exe文件?_Python_Cx Freeze_Pyside2 - Fatal编程技术网

如何从带有qt框架(pyside2)的python项目中正确地使用cx_冻结生成.exe文件?

如何从带有qt框架(pyside2)的python项目中正确地使用cx_冻结生成.exe文件?,python,cx-freeze,pyside2,Python,Cx Freeze,Pyside2,我搜索这个已经有一段时间了,我放弃了。我已经创建了包含所有必需选项的setup.py文件。调用“python setup.py build”,我得到了正在运行的.exe文件,但只在我的计算机上运行。当我试图在另一台计算机上启动该文件时,它无法启动。因为在最后一个模块的所有模块链中,都有类似的东西: "F:\*myfilepath from the original system to*\lib\site-packages\shiboken2\__init__.py", line 27 in &l

我搜索这个已经有一段时间了,我放弃了。我已经创建了包含所有必需选项的setup.py文件。调用“python setup.py build”,我得到了正在运行的.exe文件,但只在我的计算机上运行。当我试图在另一台计算机上启动该文件时,它无法启动。因为在最后一个模块的所有模块链中,都有类似的东西:

"F:\*myfilepath from the original system to*\lib\site-packages\shiboken2\__init__.py", line 27 in <module>
ImportError: DLL load failed:%1 is not Win32 application.
所以,我在第二个系统上冻结了这个项目,在第一个系统上启动了这个项目之后——同样的问题。在创建.exe文件的系统上,它可以正常启动。我曾尝试使用Dependency Walker,并将所有可能缺少的.dll都放在那里,但只有windows api dll实际上不需要应用程序调用,这不起作用。此外,当我尝试使用空项目(仅导入PySide2)创建msi安装程序时,它会出现一个异常:

Traceback (most recent call last):
  File "setup.py", line 39, in <module>
    executables = [Executable("Namer_main.py", base=base, targetName='Namer.exe'
, icon='dude.ico')])
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\dist.py", lin
e 348, in setup
    distutils.core.setup(**attrs)
  File "F:\Programs\Python\Python37-32\lib\distutils\core.py", line 148, in setu
p
    dist.run_commands()
  File "F:\Programs\Python\Python37-32\lib\distutils\dist.py", line 966, in run_
commands
    self.run_command(cmd)
  File "F:\Programs\Python\Python37-32\lib\distutils\dist.py", line 985, in run_
command
    cmd_obj.run()
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\windist.py",
line 416, in run
    self.add_files()
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\windist.py",
line 139, in add_files
    cab.commit(db)
  File "F:\Programs\Python\Python37-32\lib\msilib\__init__.py", line 215, in com
mit
    FCICreate(filename, self.files)
ValueError: FCI error 1
所有的问题甚至出现在PySide2导入的空项目上,所以我认为主要是shiboken2和cx_冻结兼容性的问题。但其他人却成功了。
规格:Windows 7(x64)、Python 3.7.5、最新的PySide2和cx_freeze(来自PyPi)。

我也遇到了同样的问题,根据其他帖子,有时是基于Windows市场安装的,或者不支持3.8。然而,我没有看到任何不同的行为。你找到解决方案了吗?我也遇到了同样的问题,根据其他帖子,有时是基于Windows Market的安装或3.8不受支持。然而,我没有看到任何不同的行为。你找到解决办法了吗?
Traceback (most recent call last):
  File "setup.py", line 39, in <module>
    executables = [Executable("Namer_main.py", base=base, targetName='Namer.exe'
, icon='dude.ico')])
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\dist.py", lin
e 348, in setup
    distutils.core.setup(**attrs)
  File "F:\Programs\Python\Python37-32\lib\distutils\core.py", line 148, in setu
p
    dist.run_commands()
  File "F:\Programs\Python\Python37-32\lib\distutils\dist.py", line 966, in run_
commands
    self.run_command(cmd)
  File "F:\Programs\Python\Python37-32\lib\distutils\dist.py", line 985, in run_
command
    cmd_obj.run()
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\windist.py",
line 416, in run
    self.add_files()
  File "F:\Programs\Python\Python37-32\lib\site-packages\cx_Freeze\windist.py",
line 139, in add_files
    cab.commit(db)
  File "F:\Programs\Python\Python37-32\lib\msilib\__init__.py", line 215, in com
mit
    FCICreate(filename, self.files)
ValueError: FCI error 1
import sys
from cx_Freeze import setup, Executable

build_exe_options = {'include_msvcr': True, "packages": ["os", "sys", "shelve", "random", "re"]}
# GUI applications require a different base on Windows (the default is for a
# console application).

base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(name = "Namer",
      version = "0.3",
      description = "Namer GUI App",
      options = {"build_exe": build_exe_options},
      executables = [Executable("Namer_main.py", base=base, targetName='Namer.exe', icon='dude.ico')])