Py2exe:编译无GUI接口的web服务器时,是否需要清单文件和w9xpopen.exe?
我正在使用Py2exe把一个CherryPy(3.1)服务器编译成可执行文件,使用的是Python 2.6(32位),在Windows 7专业版(64位)上。
这个服务器会在没有图形界面的情况下运行。
我有几个问题:
如果这个应用程序没有图形界面,我需要担心添加一个清单文件吗?
我需要把w9xpopen.exe和我的可执行文件一起打包吗?
到目前为止,我的有限测试表明,我的可执行文件在运行时不需要包含清单文件或w9xpopen.exe。
欢迎评论。
谢谢,
Malcolm
3 个回答
0
不需要强制使用清单文件。
你可以把 w9xpopen.exe(适用于 Windows XP 及以上版本)排除在外。
顺便说一下,如果你使用 py2exe 版本 0.6.9 来自动排除 w9xpopen.exe,我需要在我的 setup.py 文件中设置 dll_excludes
作为 py2exe 的一个选项。下面是 "myapp.py" 的一个例子:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
name = "...",
version = '1.0',
description = "...",
author = "...",
windows = [{'script': 'myapp.py',
'icon_resources': [(1, 'myapp.ico')]
}],
zipfile = None,
data_files=[],
options = {
'py2exe': {
'optimize':2,
'bundle_files': 2,
'compressed': True,
'excludes':[],
'dll_excludes':['w9xpopen.exe']
}
}
)
对于不需要图形界面的应用程序,你可以使用 console=[...]
代替 windows=[...]
。
0
控制台应用程序不需要清单文件。对于Windows XP及以后的版本,w9xpopen.exe
也不需要了。
12
w9xpopen.exe 是专门为 Windows 95/98 设计的,所以如果你不使用这些系统,就不需要它。
你可以在你的 py2exe 设置文件中添加 dll_excludes=['w9xpopen.exe']
来排除这个文件。
当然,如果你不使用图形用户界面(GUI),那么也不需要清单文件。