新版本已经可以打包为一个文件了,以前都是一堆dll, pyd的。具体的变化其实只有一个地方。就是options里增加bundle_files项,值为1表示pyd和dll文件会被打包到exe文件中,且不能从文件系统中加载python模块;值为2表示pyd和dll文件会被打包到exe文件中,但是可以从文件系统中加载python模块。另外setup中使用zipfile=None可以不生成library.zip。

例如原来的:
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
options = {"py2exe":
            {   "compressed": 1,
                "optimize": 2,
                "includes": includes,                
            }
          }
setup(   
    version = "0.1.0",
    description = "search panda",
    name = "search panda",    
    options = options,    
    windows=[{"script": "search.py", "icon_resources": [(1, "search.ico")] }],      
    )
只需要改为:
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
options = {"py2exe":
            {   "compressed": 1,
                "optimize": 2,
                "includes": includes,
                "bundle_files": 1
            }
          }
setup(   
    version = "0.1.0",
    description = "search panda",
    name = "search panda",
    options = options,
    zipfile=None,
    windows=[{"script": "search.py", "icon_resources": [(1, "search.ico")] }],  
    
    )
评论
davidsun2008 2008-05-19
[size=large][size=medium]大家好,python新手。现遇到一个问题,请大家帮忙!


question description:
(1)setup.py code
from distutils.core import setup
import py2exe
includes = ["encodings", "encodings.*"]
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"includes": includes,
"bundle_files": 1
}
}
setup(
version = "1.1.0",
description = "for shenzhen validation team to verify HILO",
name = "autotest",
options = options,
zipfile=None,
windows=[{"script": "autotest.py", "icon_resources": [(1, "logo.ico")] }],

)

(2)error information

Traceback (most recent call last):
File "D:\Python project\Auto_Test_1.3\sources\setup.py", line 27, in <module>
windows=[{"script": "autotest.py", "icon_resources": [(1, "logo.ico")]}],
File "D:\Python25\lib\distutils\core.py", line 139, in setup
except DistutilsArgError, msg:
SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help

error: no commands supplied

----->thanks

(1)python version:2.5

(2)py2exe version:2.5
[/size][/size]
发表评论

您还没有登录,请登录后发表评论

jinheking
搜索本博客
最近加入圈子
存档
最新评论