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

Как скомпилировать приложение Python 3 в .exe?

Как мне преобразовать приложение Python в .exe? Я сделал программу с tkinter и задавался вопросом, как сделать ее доступной для других. Я использую Python 3.3. Я искал немного, но ничего не нашел.

4b9b3361

Ответ 1

cx_Freeze делает это, но создает папку с большим количеством зависимостей. py2exe теперь делает это, и с опцией -bundle-files 0 создается только один EXE, что, вероятно, является лучшим решением для вашего вопрос.

ОБНОВЛЕНИЕ: после появления сторонних модулей, которые py2exe не удалось найти, я перешел к pyinstaller, как предлагает kotlet schabowy. Оба имеют достаточную документацию и включают в себя .exe, которые вы можете запускать с параметрами командной строки, но мне еще предстоит скомпилировать script, который pyinstaller не может обрабатывать без отладки или сглаживания головы.

Здесь простая удобная функция, которую я использую для сборки .exe с моими значениями по умолчанию из интерпретатора (конечно, пакет или подобное тоже было бы неплохо):

import subprocess,os
def exe(pyfile,dest="",creator=r"C:\Python34\Scripts\pyinstaller.exe",ico=r"C:\my icons\favicon.ico",noconsole=False):
    insert=""
    if dest: insert+='--distpath ""'.format(dest)
    else: insert+='--distpath "" '.format(os.path.split(pyfile)[0])
    if ico: insert+=' --icon="{}" '.format(ico)
    if noconsole: insert+=' --noconsole '
    runstring='"{creator}" "{pyfile}" {insert} -F'.format(**locals())
    subprocess.check_output(runstring)

Ответ 2

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

Мне нравится использовать его вместе с Cython для скорости.

Ответ 3

Вы можете использовать cx_Freeze. Существует руководство здесь.

Ответ 4

Используйте Pyinstaller. После его установки откройте терминал в каталоге, в котором находится ваш проект.

  • $ pyinstaller script1.py script2.py ... (где script1, script2 и т.д. - все скрипты, используемые в вашем проекте.)

  • После завершения команды откройте папку dist и введите подкаталог. Там вы найдете исполняемый файл.

Надеюсь, что это поможет.