【问题标题】:How do i compile .py to a .exe?如何将 .py 编译为 .exe?
【发布时间】:2011-10-08 22:09:03
【问题描述】:

我正在尝试使用 py2exe 使用以下代码将我的 .py 脚本编译成 .exe:

from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'optimize': 2}},
windows = [{'script': "get.py"}],
zipfile = "shared.lib",
)

我在控制台中得到了这个:

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'unicodedata' (C:\Python27\DLLs\unicodedata.pyd -> unicodedata.pyd)
creating python loader for extension 'select' (C:\Python27\DLLs\select.pyd -> select.pyd)
creating python loader for extension '_hashlib' (C:\Python27\DLLs\_hashlib.pyd -> _hashlib.pyd)
creating python loader for extension 'bz2' (C:\Python27\DLLs\bz2.pyd -> bz2.pyd)
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
writing byte-compilation script 'c:\docume~1\user\locals~1\temp\tmpduooti.py'
C:\Python27\pythonw.exe -OO c:\docume~1\user\locals~1\temp\tmpduooti.py

Traceback (most recent call last):
  File "C:\Documents and Settings\User\Application Data\.minecraft\saves\HuFAdventure\setup.py", line 7, in <module>
    zipfile = "shared.lib",
  File "C:\Python27\lib\distutils\core.py", line 169, in setup
    raise SystemExit, "error: " + str(msg)
SystemExit: error: command 'C:\Python27\pythonw.exe' failed with exit status 1
>>> 

你能帮忙吗?

【问题讨论】:

  • zipfile = "shared.lib" 是干什么用的?如果不这样做会怎样?
  • 您可以尝试其他方法,例如 cx_Freeze (cx-freeze.sourceforge.net)。
  • @GregHewgill 如果我删除该行,它会给我同样的错误
  • 我明白了。我提到的原因是该行是您发布的错误中堆栈跟踪的一部分。那一定是其他问题。
  • ...出于好奇,您为什么要在.minecraft/saves 文件夹中创建您的python 脚本? o.O

标签: python compiler-errors py2exe


【解决方案1】:

您是否有意构建基于 gui 的脚本?如果不把windows = [{'script': "get.py"}],改成console = ["get.py"],:

from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
    options = {'py2exe': {'optimize': 2}},
    console = ["get.py"],
    zipfile = "shared.lib",
)

如果您正在构建一个窗口程序,请忽略这个并留下评论,以便我可以删除这个答案)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多