有没有办法为py2exe指定构建目录

时间:2011-04-27 23:37:03

标签: python py2exe

我可以使用命令行设置py2exe的最终dist目录:

python setup.py py2exe -d "my/dist/dir"

但我似乎无法将文件设置为临时build目录。我已经简要地看了一下这个来源,但除非我遗漏了某些内容,否则似乎无法做到这一点。

3 个答案:

答案 0 :(得分:9)

您可以在命令行上设置的任何选项都可以通过setup.cfg文件或setup.py文件进行设置。

-d--dist-dir的快捷方式,您可以将其添加到字典中的py2xe dict,该字典传递给设置为'dist_dir'的选项关键字参数:

from distutils.core import setup
import py2exe

# equivalent command line with options is:
# python setup.py py2exe --compressed --bundle-files=2 --dist-dir="my/dist/dir" --dll-excludes="w9xpopen.exe"
options = {'py2exe': {
           'compressed':1,  
           'bundle_files': 2, 
           'dist_dir': "my/dist/dir"
           'dll_excludes': ['w9xpopen.exe']
           }}
setup(console=['myscript.py'], options=options)

您也可以将setup.cfg放在setup.py文件旁边:

[py2exe]
compressed=1
bundle_files=2 
dist_dir=my/dist/dir
dll_excludes=w9xpopen.exe

构建目录(--build-base)是构建命令的一个选项,因此您可以将其添加到其中一个配置文件(或setup.py)中:

[build]
build_base=my/build/dir

答案 1 :(得分:6)

为了澄清lambacck的答案,这适用于最新的vanilla py2exe:

options = {'build': {'build_base': 'my/build/dir'},
           'py2exe': {
           'compressed':1,  
           'bundle_files': 2, 
           'dist_dir': "my/dist/dir"
           'dll_excludes': ['w9xpopen.exe']
          }}

答案 2 :(得分:0)

遇到与凯西相同的问题。我们有一个我想要遵循的构建系统 使用py2exe生成.exe时。

但是我不认为lambacck的答案有效。 'build_base'不是py2exe的选项

要证明它运行: python setup.py --help py2exe

这应该列出py2exe的所有选项。 那里没有列出'build_base'。

我正在使用py2exe 0.6.9

我可能错了,但听起来有人需要向任何人发送补丁 维护这个项目。它来自SourceForge并且自2008年以来一直没有触及过。