проблема с питоном cx_Freeze egg - PullRequest
3 голосов
/ 14 апреля 2010

я пытаюсь построить исполняемый файл (для 32-битной Windows XP) из скрипта Python (который использует много яиц)

я рассмотрел py2exe (0.6.9), PyInstaller (1.4) и cx_Freeze (4.1.2)

py2exe не любит яйца на завтрак

PyInstaller не любит Python 2.6 на обед )

, поэтому я пошел с cx_Freeze ( должен поддерживать яйца без проблем с 4.0 ). но по какой-то причине это не так.

какие параметры я передаю для распознавания файлов внутри яйца?

Ответы [ 2 ]

3 голосов
/ 12 мая 2013

Распакуйте модуль eggs в директорию с исходным кодом и добавьте package: [dependencies,] в setup.py. Следуя документации py2exe в py2Exe Docs , я выполнил этот скрипт, который вы чаще всего выполняете в исходном коде, выполнив: python unpackEgg.py eggsmodule:

    import os
    import pkg_resources
    import sys
    from setuptools.archive_util import unpack_archive

    def unpackEgg(modulo):
        eggs = pkg_resources.require(modulo)
        for egg in eggs:
            if os.path.isdir(egg.location):
                sys.path.insert(0, egg.location)
                continue
            unpack_archive(egg.location, ".")
        eggpacks = set()
        eggspth = open("./eggs.pth", "w")
        for egg in eggs:
            print egg
            eggspth.write(os.path.basename(egg.location))
            eggspth.write("\n")
            eggpacks.update(egg.get_metadata_lines("top_level.txt"))
        eggspth.close()

        eggpacks.clear()


    if __name__ == '__main__':
    unpackEgg(sys.argv[1])
0 голосов
/ 15 апреля 2010

Вы можете попробовать ветку PyInstaller версии 2.6, которая указана на странице, которую вы дали.

...