Как я могу включить одну константу из модуля, не включая весь модуль в "setup.py" - PullRequest
0 голосов
/ 07 февраля 2020

Контекст и проблема Я пытаюсь превратить мой python скрипт в исполняемое приложение windows, используя "cx_freeze". Моя проблема в том, что я не хочу включать в сборку целые пакеты или даже целые субмодули - я хочу включить только те функции, которые мне нужны от них. Вместо этого cx_freeze включает в себя огромное количество кода, который никогда не используется или не нужен, включая переводы для GUI от tkinter, когда мне нужно только приложение Engli sh. Мне нужна только одна константа из numpy (nan), но вместо этого мне нужно установить весь пакет numpy в мою сборку. Надеюсь, вы меня поняли.

Мой импорт

from numpy import nan
from pandas import read_excel
import xlrd
from modules.htmlFormatters import *
from re import sub, search
from calendar import isleap, month_abbr, month_name, monthrange
import yaml

Мой файл setup.py

from cx_Freeze import setup, Executable

include_files = ["data", "configs"]

executables = [
    Executable("main.pyw",
    targetName="TJB Email Writer.exe",
    base="Win32GUI")
]

setup(
    name="TJB Email Writer",
    version="0.1.0",
    description = "Generates email for client",
    long_description = "Extracts figures from excel sheet then generates email for client.",
    author = "Taylor J Wood",
    author_email="taylorjohnwood@gmail.com",
    options = {"build_exe":{
        "include_files":include_files,
        "excludes":["win32","pandas","xlrd","numpy","tkinter"],
        "includes":["tkinter.filedialog","win32com.client","tkinter.Tk","tkinter.Listbox","etc"]
        }},

    executables = executables
)

Моя структура файлов

...