line 26, in <module> from app import app ImportError: cannot import name 'app' from 'app'
line 26, in <module> from app import app ImportError: cannot import name 'app' from 'app'
我想用 python app1.py 打开我的 python 应用程序,但它显示 error.My AppData\Local\Programs\Python\Python39\lib\site-packages\app\__init__.py
文件是空的,我尝试了一些其他的网站上的解决方案,但他们根本没有帮助我。我的仪表板目录中还有一个 init.py 文件,但它也是空的,下面是我的项目树
import dash
import dash_core_components as dcc
import dash_bootstrap_components as dbc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import dash_table as dt
from dash_table.Format import Format, Group, Scheme, Symbol
import datetime
from datetime import timedelta
#import connect
import plotly.graph_objects as go
import pandas as pd
import math
import re
import numpy as np
from flask import send_file
import io
import flask
import os
import sys
from waitress import serve
import json
#import kaleido
import plotly
import base64
from app import app
import utils
import mysql_queries
import mssql_queries
import mssql_conn
import constants
def convert_timedelta(timedelta):
total_seconds = timedelta.total_seconds()
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_timedelta_int(timedelta):
total_seconds = timedelta
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_time_to_string(timedelta):
total_seconds = timedelta
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_time_string_to_minutes(time_string):
indices = time_string.split(":")
indices = [int(i) for i in indices]
total_time = int(indices[0] * 60 + indices[1] + indices[2] / 60)
return total_time
def processing(records, taktzzeit, effizienz):
dataframe = pd.DataFrame.from_records(records)
dataframe.columns = ["Error ID", "Alert Text", "Error Count", "Down Time"]
dataframe["Relative Down Time"] = [round(element*100/dataframe["Down Time"].sum(), 2) for element in dataframe["Down Time"]]
dataframe["Estimated Loss"] = [round((element.total_seconds() * float(effizienz))/taktzzeit,0) for element in dataframe["Down Time"]]
dataframe = dataframe.sort_values(by="Down Time", ascending=False).reset_index(drop=True)
column = [dataframe["Relative Down Time"][0]]
for i in range (1, len(dataframe["Relative Down Time"])):
value = round(column[i-1] + dataframe["Relative Down Time"][i], 2)
if value >= 100:
column.append(100)
else:
column.append(value)
dataframe["Cumulative Percentage"]=column
return dataframe
我的项目树:
找到目录:.
app.py
config.ini
connect.py
constants.py
index.py
mssql_config.ini
mssql_conn.py
mssql_dbconfig.py
mssql_queries.py
mysql_queries.py
nav.py
prject.py
python_mysql_dbconfig.py
test.py
users.csv
user_mgmt.py
utils.py
__init__.py
Found directory: .\apps
app1.py
app2.py
app3.py
app4.py
app5.py
app6.py
Found directory: .\apps\__pycache__
app1.cpython-39.pyc
app2.cpython-39.pyc
app3.cpython-39.pyc
app4.cpython-39.pyc
app5.cpython-39.pyc
app6.cpython-39.pyc
Found directory: .\assets
bootstrap.min.css
custom.css
Found directory: .\__pycache__
app.cpython-39.pyc
connect.cpython-39.pyc
constants.cpython-39.pyc
mssql_conn.cpython-39.pyc
mssql_dbconfig.cpython-39.pyc
mssql_queries.cpython-39.pyc
mysql_queries.cpython-39.pyc
nav.cpython-39.pyc
test.cpython-39.pyc
user_mgmt.cpython-39.pyc
utils.cpython-39.pyc`
enter code here
这在我的 app.py 主词典里
import dash
import dash_bootstrap_components as dbc
import dash_auth
import user_mgmt
#app = dash.Dash(external_stylesheets=[dbc.themes.COSMO])
app = dash.Dash(__name__)
server = app.server
app.title = "Jifeng Manufacturing Report"
auth = dash_auth.BasicAuth(
app,
user_mgmt.read_users()
)
根据我们在评论中的讨论,由于您的 app.py
不在 PYTHONPATH
上,我的猜测是路径上还有其他一些同名的文件不包含 app
对象,因此你的错误。
至 运行 app1.py
您可以从项目的根目录使用此命令:
python -m apps.app1
我想用 python app1.py 打开我的 python 应用程序,但它显示 error.My AppData\Local\Programs\Python\Python39\lib\site-packages\app\__init__.py
文件是空的,我尝试了一些其他的网站上的解决方案,但他们根本没有帮助我。我的仪表板目录中还有一个 init.py 文件,但它也是空的,下面是我的项目树
import dash
import dash_core_components as dcc
import dash_bootstrap_components as dbc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import dash_table as dt
from dash_table.Format import Format, Group, Scheme, Symbol
import datetime
from datetime import timedelta
#import connect
import plotly.graph_objects as go
import pandas as pd
import math
import re
import numpy as np
from flask import send_file
import io
import flask
import os
import sys
from waitress import serve
import json
#import kaleido
import plotly
import base64
from app import app
import utils
import mysql_queries
import mssql_queries
import mssql_conn
import constants
def convert_timedelta(timedelta):
total_seconds = timedelta.total_seconds()
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_timedelta_int(timedelta):
total_seconds = timedelta
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_time_to_string(timedelta):
total_seconds = timedelta
hours = int(total_seconds // 3600)
minutes = int(total_seconds // 60 % 60)
seconds = int(total_seconds % 60)
if hours < 10:
hours = "0" + str(hours)
if minutes < 10:
minutes = "0" + str(minutes)
if seconds < 10:
seconds = "0" + str(seconds)
return str(hours) + ":" + str(minutes) + ":" + str(seconds)
def convert_time_string_to_minutes(time_string):
indices = time_string.split(":")
indices = [int(i) for i in indices]
total_time = int(indices[0] * 60 + indices[1] + indices[2] / 60)
return total_time
def processing(records, taktzzeit, effizienz):
dataframe = pd.DataFrame.from_records(records)
dataframe.columns = ["Error ID", "Alert Text", "Error Count", "Down Time"]
dataframe["Relative Down Time"] = [round(element*100/dataframe["Down Time"].sum(), 2) for element in dataframe["Down Time"]]
dataframe["Estimated Loss"] = [round((element.total_seconds() * float(effizienz))/taktzzeit,0) for element in dataframe["Down Time"]]
dataframe = dataframe.sort_values(by="Down Time", ascending=False).reset_index(drop=True)
column = [dataframe["Relative Down Time"][0]]
for i in range (1, len(dataframe["Relative Down Time"])):
value = round(column[i-1] + dataframe["Relative Down Time"][i], 2)
if value >= 100:
column.append(100)
else:
column.append(value)
dataframe["Cumulative Percentage"]=column
return dataframe
我的项目树: 找到目录:.
app.py
config.ini
connect.py
constants.py
index.py
mssql_config.ini
mssql_conn.py
mssql_dbconfig.py
mssql_queries.py
mysql_queries.py
nav.py
prject.py
python_mysql_dbconfig.py
test.py
users.csv
user_mgmt.py
utils.py
__init__.py
Found directory: .\apps
app1.py
app2.py
app3.py
app4.py
app5.py
app6.py
Found directory: .\apps\__pycache__
app1.cpython-39.pyc
app2.cpython-39.pyc
app3.cpython-39.pyc
app4.cpython-39.pyc
app5.cpython-39.pyc
app6.cpython-39.pyc
Found directory: .\assets
bootstrap.min.css
custom.css
Found directory: .\__pycache__
app.cpython-39.pyc
connect.cpython-39.pyc
constants.cpython-39.pyc
mssql_conn.cpython-39.pyc
mssql_dbconfig.cpython-39.pyc
mssql_queries.cpython-39.pyc
mysql_queries.cpython-39.pyc
nav.cpython-39.pyc
test.cpython-39.pyc
user_mgmt.cpython-39.pyc
utils.cpython-39.pyc`
enter code here
这在我的 app.py 主词典里
import dash
import dash_bootstrap_components as dbc
import dash_auth
import user_mgmt
#app = dash.Dash(external_stylesheets=[dbc.themes.COSMO])
app = dash.Dash(__name__)
server = app.server
app.title = "Jifeng Manufacturing Report"
auth = dash_auth.BasicAuth(
app,
user_mgmt.read_users()
)
根据我们在评论中的讨论,由于您的 app.py
不在 PYTHONPATH
上,我的猜测是路径上还有其他一些同名的文件不包含 app
对象,因此你的错误。
至 运行 app1.py
您可以从项目的根目录使用此命令:
python -m apps.app1