Как создать расширение msi с помощью setup.py с помощью cx freeze - PullRequest
0 голосов
/ 17 июня 2020

Я хотел бы создать расширение .msi для моего python скрипта. С помощью этого файла я хотел бы добавить возможность пользователям установить python и установить все зависимости проекта. Я вообще-то не понимаю, как я могу это сделать. Вот мой setup.py

setup.py:

import os
import sys
from cx_Freeze import setup, Executable

    os.system('virtualenv sample/venv && sample\\venv\\Scripts\\activate && pip install -r requirements.txt')
    setup(name = "Myscript",
            version = "0.1",
            description = "My GUI application!",
            executables = [Executable("main.py", base=base)])

1 Ответ

0 голосов
/ 25 июня 2020

Cxfreeze автоматически построит все зависимости, включая python и любые другие модули, которые вы импортировали в свой скрипт. Если вы получаете сообщение об ошибке «модуль не найден», вам необходимо вручную включить его в пакеты. Любые файлы, такие как изображения, должны быть явно включены. Вот пример кода для справки -

from cx_Freeze import setup, Executable

build_exe_options = {'packages': ['os', 'tkinter', 'matplotlib.backends.backend_svg', 'subprocess'],
                     'namespace_packages': ['mpl_toolkits'],
                     'include_files':['input3.json', 'SF.xlsx', 'SF logo.ico', 'Operative Temperature.pkl',
                                      'Rect_icon.png', 'Soltissim logo.png', 'SF full logo.jpg', 'IES logo.jpg']}

base = None

if sys.platform == 'win32':
    base = 'Win32GUI'

setup ( name = 'Soltissim',
        version = '2',
        description = 'SF GUI',
        options = {'build_exe': build_exe_options},
        executables = [Executable('Soltissim.py', base=base, icon='SF logo.ico])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...