我最近一直致力于文本游戏(在控制台或CMD中执行)。我已经测试过了,它完美无缺。但是现在我想让它成为一个单一的EXE。我已经用其他脚本完成了这个。问题是这个游戏实际上由3个脚本组成:main.py,maps.py,UInterface.py。这些都是像这样
在主文件中导入的 import maps;
import UInterface as UI;
如果将所有内容都放入单个exe并使其工作,我该怎么办? 重复一遍,我的代码已经工作了,只需要编译
答案 0 :(得分:0)
下载并安装 - py2exe(link here http://www.py2exe.org/)
像这样创建一个setup.py(在源目录中):
from distutils.core import setup
import py2exe
setup(console = ['main.py'])
然后运行:
python setup.py py2exe
exe将在此处收到。\ dist \ main.exe
答案 1 :(得分:0)
状况:
简短的答案:
Py2exe找不到您的“其他脚本”。要修复它,请复制该代码 setup.py的开头(当然更改main_script_dir)
import sys main_script_dir = "folder1\\folder2\\main.py" main_folder = main_script_dir.rsplit("\\",1)[0] sys.path.append(main_folder)
删除脚本的名称,并将文件夹添加到PYTHONPATH。
大答案: (关于如何得出结论的解释)
如何测试py2exe无法找到“其他脚本”?
cd.. cd.. cd.. cd.. cd.. cd Folder1 cd Folder2 "C:\Python27\python.exe" setup.py py2exe >nul ping -n 30 localhost
为什么会这样?
你怎么解决这个问题?
您必须将主脚本目录添加到pythonpath:
(像这样:How to add to the pythonpath in windows 7?)
答案 2 :(得分:0)
我看到这篇文章试图从一些独立的脚本创建一组可执行文件。最终,我通过将分配给 console.log 的所有脚本名称解决了这个问题。从文档中,console 是要转换为控制台 exe 的脚本列表的关键字。
示例:
setup(console=[
'script1.py',
'script2.py',
'script3.py'
]
)
希望这对尝试做同样事情的人有所帮助。