我正在开发一个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.
所以我的问题是,为什么它在本地运行而不是扩展到另一台计算机上? 任何帮助将不胜感激。