<(24.03) no module named ‘generated_script’ 에러 해결하기>
저번에 PyQt5나 Qt designer나 어려운 얘기들을 많이 했었다.
원래는 코딩전용 블로그는 아니지만 나처럼 문외한들을 위해서
왜 이런 에러가 나오는지에 대해서 해결방법을 찾아올수도있으니까!
작성한다 저번에 작성했던 코드를 다시 확인해보자
반발경도시험 코드
<해당 코드>
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from datetime import datetime
from generated_script import Ui_MainWindow # Import the generated script
class MyApp(QMainWindow):
def __init__(self):
super().__init__()
# Set up the user interface from Designer.
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# Connect signals and slots
self.ui.calculate_button.clicked.connect(self.calculate)
def calculate(self):
# Get input values from the UI
input_date_str = self.ui.date_lineEdit.text()
Ro = float(self.ui.ro_lineEdit.text())
item_name = self.ui.item_lineEdit.text()
impact_angle = float(self.ui.impact_angle_lineEdit.text())
# Calculate days since input
input_date_obj = datetime.strptime(input_date_str, "%Y%m%d")
current_date = datetime.now()
days_since_input = (current_date - input_date_obj).days
# Calculate adjustment factor
adjustment_factor = self.calculate_adjustment_factor(days_since_input)
# Calculate impact angle correction
angle_correction = self.calculate_impact_angle_correction(impact_angle, Ro)
# Calculate values
calculated_value_1 = -18.0 + (1.27 * Ro)
calculated_value_2 = ((7.3 * Ro) + 100.0) * 0.098
# Apply adjustment factor
calculated_value_1 *= adjustment_factor
calculated_value_2 *= adjustment_factor
# Calculate adjusted values
adjusted_calculated_value_1 = round(calculated_value_1 * adjustment_factor, 2)
adjusted_calculated_value_2 = round(calculated_value_2 * adjustment_factor, 2)
# Display results in UI
self.ui.result_textEdit.clear()
self.ui.result_textEdit.append(f"Ro 값: {Ro}")
self.ui.result_textEdit.append(f"항목 이름: {item_name}")
self.ui.result_textEdit.append(f"타격각도: {impact_angle}")
self.ui.result_textEdit.append(f"타격각도 보정계수: {round(angle_correction, 2)}")
self.ui.result_textEdit.append(f"입력된 값에 대한 일본재료학회 결과값: {round(calculated_value_1, 2)} MPa")
self.ui.result_textEdit.append(f"입력된 값에 대한 일본재료학회 추정압축강도: {adjusted_calculated_value_1} MPa")
self.ui.result_textEdit.append(f"입력된 값에 대한 일본건축학회 결과값: {round(calculated_value_2, 2)} MPa")
self.ui.result_textEdit.append(f"입력된 값에 대한 일본건축학회 추정압축강도: {adjusted_calculated_value_2} MPa")
def calculate_adjustment_factor(self, days_since_input):
if days_since_input <= 0:
return 1
elif days_since_input <= 100:
return 1 - days_since_input * 0.0005
elif days_since_input <= 300:
return 0.78 - (days_since_input - 100) * 0.00008
elif days_since_input <= 500:
return 0.7 - (days_since_input - 300) * 0.00006
elif days_since_input <= 1000:
return 0.67 - (days_since_input - 500) * 0.00002
elif days_since_input <= 3000:
return 0.65 - (days_since_input - 1000) * 0.00002
else:
return 0.63
def calculate_impact_angle_correction(self, impact_angle, Ro):
return impact_angle / 90 * (25.3 + (0.08 * (Ro - 30)) - 30)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
당연히 별다른 내용은 없지만 이대로 비주얼 스튜디오로 열어서 실행시키면
에러가 하나 뜬다 no module named ‘generated_script’
라고 하면서 나오는 에러가 있는데 원래는 말 그대로
해당 이름의 모듈을 불러올 수 없다는 뜻이다
no module named ‘generated_script’ 에러
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from datetime import datetime
from generated_script import Ui_MainWindow # Import the generated script
이 코드부분을 잘 살펴보면
# Import the generated script
라고 쓰여있는데 이것은 주석이다
즉 말하자면 from 이후에 생성된 ui 파일을 불러온다는 뜻이다
즉 ui 파일의 이름을 generated_script.ui 로 수정하던가
아지면 from 이후에 이름을 파일명으로 수정해주면 된다
간단한 에러에 꽤 긴시간을 날려먹었다…
성장통이라고 생각하자