Da sh в .exe, используя auto-py-to-exe почти там - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю над приложением Da sh, которое я хотел бы распространять через исполняемый файл. У меня есть два файла "app.py" и "run.py". Файл "app.py" содержит базу данных MS Access, обеспечивающую ввод / вывод. «app.py» выглядит следующим образом ..

    import dash
    import dash_html_components as HTML 
    import dash_core_components as dcc 
    import pyodbc
    import dash_table
    import pandas as pd

    conn = pyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ= 
    C:\Users\_file_name_.accdb;')
    cursor = conn.cursor()

    df = pd.read_sql_query('SELECT * FROM ', conn)

    def generate_table(dataframe, max_rows=10):
return html.Table(
    # Header
    [html.Tr([html.Th(col) for col in dataframe.columns])] +

    # Body
    [html.Tr([
        html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
    ]) for i in range(min(len(dataframe), max_rows))]
)
    app = dash.Dash()

    app.layout = html.Div(children=[
html.H4(children='Selection'),
dcc.Dropdown(id='dropdown', options=[
    {'label': i, 'value': i} for i in df.Name.unique()
], multi=True, placeholder='String...'),
html.Div(id='table-container')
   ])

   @app.callback(
dash.dependencies.Output('table-container', 'children'),
[dash.dependencies.Input('dropdown', 'value')])

   def display_table(dropdown_value):
if dropdown_value is None:
    return generate_table(df)

dff = df[df.Name.str.contains('|'.join(dropdown_value))]
return generate_table(dff)



   if __name__ == '__main__':
       app.run_server(debug=False)

Мой «run.py» выглядит следующим образом.

    import os

    os.system('app.py')

Когда я использую инструмент auto-py-to-exe он отлично работает, исполняемый файл запускается и предоставляет IP-адрес и номер порта, чтобы следовать. Вставьте это в мой браузер, и мое приложение будет отображаться без нареканий. Моя проблема возникает, когда этот исполняемый файл запускается на другом компьютере. Я получаю ...

    'app.py' is not recognized as an internal or external command, operable program or batch file.

Итак, мой вопрос: почему это происходит локально, а не при распространении на другой компьютер? Любая помощь будет принята с благодарностью.

...