几乎在那里使用自动py-to-exe短跑到.exe

时间:2020-04-29 17:10:13

标签: python exe plotly-dash

我正在开发一个Dash应用程序,希望能够通过可执行文件进行分发。我有两个文件“ 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.

所以我的问题是,为什么它在本地运行而不是扩展到另一台计算机上? 任何帮助将不胜感激。

0 个答案:

没有答案