py2exe在多文件多目录项目结构中的使用

4 投票
1 回答
804 浏览
提问于 2025-04-17 06:50

我的Python项目有以下结构:

+ Project
  -> start.py  --  Main startup script
  -> appstate.json
  +> lib/      --  Directory of third-party libraries such
                   as demjson.py, google gdata, etc.
  +> tools/    --  Directory of my own packages

我不知道需要给py2exe传递什么选项,才能让它理解上面的布局。有人能帮帮我吗?

1 个回答

0

我一直只用py2exe来处理Python模块和包。不过我觉得只要把setup.py文件放在你的项目目录里,然后从那个目录运行它,就应该可以了。

setup.py

from distutils.core import setup
import py2exe
import sys
import os
sys.argv.append('py2exe')

setup(console = ['start.py'],
      options = {'py2exe': { }},
      zipfile = None)

'py2exe': { }这个字典里,可以根据需要填入一些选项。


py2exe的选项,应该在setup函数的options关键字中指定:

unbuffered - 如果设置为真,就使用不带缓冲的二进制标准输出和错误输出。

optimize - 字符串或整数(0、1或2)

includes - 要包含的模块名称列表

packages - 要包含的包及其子包列表

ignores - 如果找不到的模块列表,就忽略它们

excludes - 要排除的模块名称列表

dll_excludes - 要排除的dll列表

dist_dir - 用于构建最终文件的目录

typelibs - 要包含的gen_py生成的typelibs列表(XXX 需要更多文本)

撰写回答