Подтвердить что ты не робот

Py2exe: Имеются ли файлы манифеста и w9xpopen.exe при компиляции веб-сервера без интерфейса GUI?

Я использую Py2exe для компиляции сервера CherryPy (3.1), используя Python 2.6 (32-разрядный) в Windows 7 Pro (64-разрядный).

Этот сервер будет работать без GUI.

Вопросы:

  • Нужно ли беспокоиться о добавлении файла манифеста для этого приложения, если оно выполняется без графического интерфейса?

  • Нужно ли включать w9xpopen.exe с моим exe?

До сих пор мое ограниченное тестирование показало, что мне не нужно включать файл манифеста или файл w9xpopen.exe с моим исполняемым файлом, чтобы он работал.

Комментарии оценены.

Спасибо, Malcolm

4b9b3361

Ответ 1

w9xpopen.exe для Windows 95/98, поэтому, если вы не используете те, которые вам не понадобятся.

Вы можете добавить dll_excludes=['w9xpopen.exe'] в свой файл установки для py2exe, чтобы исключить это.

и, конечно, вам не понадобится файл манифеста, если вы также не используете графический интерфейс.

Ответ 2

Файл манифеста не потребуется для консольных приложений. w9xpopen.exe не требуется для Win XP и более поздних версий.

Ответ 3

  • Не требуется манифест.

  • И вы можете исключить w9xpopen.exe(для Win XP и выше)

Для чего стоит, используя py2exe v 0.6.9 для автоматического исключения w9xpopen, мне пришлось установить dll_excludes как параметр py2exe в файл setup.py. Вот пример для "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']
            }
        }
)

Для приложений, работающих без gui, вы можете использовать console=[...] вместо windows=[...].