python-3.6 - 执行 cx_Freeze setup.py 后,cmd 中没有任何反应
问题描述
我想将我的一个.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 并搜索是否有其他人有相同的问题或其他 .py 到 .exe 模块,但没有工作。我还在“环境变量”中设置了我的python文件夹的路径(见图),我尝试在cmd中使用“SET 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,但它仍然无法正常工作。
谢谢您的帮助
解决方案
终于明白了:这不是cmd或我的代码的问题,我只是安装了最新版本的python(3.7)并调整了环境变量,因此只有python 3.7的那些在那里。现在它工作得很好!谢谢您的帮助 :)
推荐阅读
- java - Java RMI Object/DTO 传输 ClassCastException
- javascript - 使用 .find() 方法根据 productId click 查找 productId 作为参数
- php - 我正在尝试从输入字段创建搜索功能,以搜索相关链接在一起的多个表
- r - 在处理平局时在数据框列中找到与给定数字最接近的“下限数字”
- db2 - 将数据加载到远程 DB2 服务器时出错
- javascript - 安装 date-fns 依赖项后出现错误
- php - 如何将woocommerce输入的最大属性设置为等于该产品的数量
- css - 如何使用线性渐变创建标志?
- javascript - 鼠标按下事件未在纸质 js 中触发
- css - 使用静态平移旋转关键帧