2

我的 c:\Python32 1)Tima_guess.py 中有 2 个 python 脚本,如下所示:

#Author:Roshan Mehta
#Date  :9th October 2012

import random,time,sys
ghost ='''
0000 0 000----
00000-----0-0
----0000---0
'''

guess_taken = 0

print('Hello! What is your name?')
name = input()
light_switch = random.randint(1,12)
print("Well, " + name + ", There are 12 switches and one of them turns on the Light.\nYou just need to guess which one is it in 4 guesses.Purely a luck,but i will help you to choose")
print("Choose a switch,they are marked with numbers from 1-12.\nEnter the switch no.") 
while guess_taken < 4:

    try:
        guess = input()
        guess = int(guess)
    except: 
        print("invalid literal,Plese enter an integer next time.")
        x = input()
        sys.exit(1)


    guess_taken = guess_taken + 1
    guess_remain = 4 - guess_taken
    time.sleep(1)

    if guess < light_switch:        
        print("The Light's switch is on right of your current choice.You have {} more chances to turn on the light.".format(guess_remain)) 

    if guess > light_switch:
        print("The Light's switch is on left of your current choice.You have {} more chances to turn on the light.".format(guess_remain))

    if guess == light_switch:
        print("Good,you are quiet lucky,You have turned on the light in {} chances.".format(guess_taken))
        sys.exit(1)

if guess != light_switch:
    print("Naah,You don't seems to be lucky enough,The switch was {}.".format(light_switch))
    for i in range(3):
        time.sleep(2)
        print(ghost)
    print("The Devil in the room has just killed you....Ha ha ha")

input()

2)setup.py 看起来像这样:

from cx_Freeze import setup, Executable
setup(
    name = "Console game",
    version = "0.1",
    description = "Nothing!",
    executables = [Executable("Tima_guess.py")])

当我运行 python setup.py build 时,它会在 c:\Python32\build 内的 build 目录中创建一个可执行文件,但是当我运行 Tima_guess.exe 时,它​​只会显示黑屏,并且会立即关闭,甚至无法看到它抛出的消息。请帮助我获得我的 Tima_guess.py 游戏的独立可执行文件。

问候。

根据 Thomas 的建议,当我通过 Tima_guess.exe 明确地在 cmd 中运行时。我收到以下错误,但仍然无法找出问题所在。

c:\Python32\build\exe.win32-3.2>Tima_guess.exe
Traceback (most recent call last):
  File "c:\Python32\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 2
7, in <module>
    exec(code, m.__dict__)
  File "Tima_guess.py", line 4, in <module>
  File "c:\Python32\lib\random.py", line 39, in <module>
    from warnings import warn as _warn
  File "C:\Python\32-bit\3.2\lib\warnings.py", line 6, in <module>
  File "C:\Python\32-bit\3.2\lib\linecache.py", line 10, in <module>
  File "C:\Python\32-bit\3.2\lib\tokenize.py", line 28, in <module>
ImportError: No module named re

c:\Python32\build\exe.win32-3.2>
4

2 回答 2

2

构建完成后,将 re.pyc 添加到 library.zip 文件中。
要获取re.pyc,你需要做的就是成功运行re.py,然后打开__pycache__文件夹,然后你会看到一个类似re.cpython-32.pyc的文件,将它重命名为re.pyc,瞧!

于 2012-12-11T07:21:13.680 回答
1

安装程序.py

from cx_Freeze import setup, Executable

build_exe_options = {"includes": ["re"]}

setup(
        name = "Console game",
        version = "0.1",
        description = "Nothing!",
        options = {"build_exe": build_exe_options},
        executables = [Executable("Tima_guess.py")])
于 2012-10-17T10:43:06.313 回答