cx_Freeze setup.py执行后,cmd中什么也没有发生

问题描述 投票:0回答:1

[我想将我的.py文件之一(使用模块“ pygame”且该模块使用“ pkg_resources”,pyinstaller不支持“ pkg_resources”,这就是我尝试cx_Freeze的原因)转换为带有cx_Freeze的.exe文件,如果我为cx_Freeze模块执行setup.py以开始转换,命令提示符仅显示空白行,没有任何反应。

C:\Users\PATH\ascension_card_game>python setup.py build

C:\Users\PATH\ascension_card_game>

我已经尝试使用py2exe(这会导致相同的结果,这可能与我使用cmd / python命令的方式有关)和pyinstaller,并搜索是否有人对.exe模块有相同的问题或其他.py,但没有任何效果。我还在“环境变量”中设置了我的python文件夹的路径(参见图片),我尝试使用“ SET PATH = ...”在cmd中手动设置路径。

Environment Variable "PATH"

那是setup.py

from cx_Freeze import setup, Executable

setup(name = "Ascension: Card Game",
      version = "0.1",
      description = "A card game",
      executables = [Executable("ascension.py", base=base)])

我希望它会在包含其他内容的文件夹中生成一个.exe文件,但是什么也没有发生。这里还有一本使用cx_Freeze的手册:https://pythonprogramming.net/converting-python-scripts-exe-executables/

更新

如果我使用anaconda提示符通过“ python setup.py build”执行setup.py文件,则会显示此错误:

Traceback (most recent call last):
  File "setup.py", line 18, in <module>
    executables = executables)
  File "C:\Users\Maxim Stanko\Desktop\programming\Python\Games\ascension_card_game\cx_Freeze\dist.py", line 348, in setup
    distutils.core.setup(**attrs)
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Maxim Stanko\Miniconda\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\Users\Maxim Stanko\Desktop\programming\Python\Games\ascension_card_game\cx_Freeze\dist.py", line 218, in run
    zipExcludePackages = self.zip_exclude_packages)
  File "C:\Users\Maxim Stanko\Desktop\programming\Python\Games\ascension_card_game\cx_Freeze\freezer.py", line 114, in __init__
    for n in self._GetDefaultBinPathExcludes() + binPathExcludes]
  File "C:\Users\Maxim Stanko\Desktop\programming\Python\Games\ascension_card_game\cx_Freeze\freezer.py", line 239, in _GetDefaultBinPathExcludes
    import cx_Freeze.util
ModuleNotFoundError: No module named 'cx_Freeze.util'

它没有模块cx_Freeze.util。尽管我尝试重新安装cx_Freeze和python 3.6,但仍然无法正常工作。

感谢您的帮助

python-3.6 cx-freeze
1个回答
0
投票

终于明白了:这不是cmd或我的代码的问题,我只是安装了最新版本的python(3.7)并调整了环境变量,因此只有那里的python 3.7才有。现在工作正常!感谢您的帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.