pydev выполняет скрипт в обычном режиме отладки - PullRequest
0 голосов
/ 26 апреля 2018

Когда я выполняю свой скрипт на python в pydev / eclipse в режиме отладки, все работает как положено, я вижу это в консоли:

enter image description here

enter image description here

Сценарий создает несколько файлов Excel с openpyxl и заполняет их созданными файлами .png из matplotlib.pyplot , но если я выполняю сценарий с обычным запуском: enter image description here

Не создаются ни файлы excel, ни файлы .png? В обычном режиме я не вижу приведенную выше картинку в консоли

pydev версия: 6.2.0 .... версия openpyxl: 2.5.2 версия matplotlib: 2.2.2

я также проверил настройки Run-> Debug Configuration и Run-> Run Configuration, но настройки те же

я запускаю выполнение из основного сценария:

import script2 as sc2

def main():      
    sc2.start("test_1")


if __name__ == '__main__':
    main()

отсюда, если я выполняю / запускаю в режиме отладки, все работает, но если я использую обычный режим запуска, он не работает. в этом скрипте2 файлы excel создаются и заполняются файлами .png, созданными из matplotlib

Edit:

excel_file = str(file_path)

try:
        wb = load_workbook(excel_file,read_only=False)
except OSError as e:
        wb = openpyxl.Workbook()
        wb.save(excel_file)
        wb = load_workbook(excel_file,read_only=False)

wb.create_sheet(sheet_name)

sheet = wb[sheet_name]

sheet.column_dimensions['B'].width = 50
sheet.column_dimensions['C'].width = 80

sheet['A1'] = "Testing Res"
sheet['A1'].font = Font(color = '00FF00')
sheet['A1'].font = Font(name='Arial', size=12,bold=True)
sheet['A1'].alignment = Alignment(wrap_text=False)

for idx,values in enumerate(testing_list,1):
    sheet["F"] = idx
    sheet["G"] = elemnts[idx-1] 
    sheet["H"] = values['key1'] 

sheet["H32"] = "Description :"
sheet["I32"] = "balblablabl"

wb.save(excel_file)

и позже некоторые картинки с matplotlib:

wb= load_workbook(excel_file,read_only=False)
wb.create_sheet(result_graph)
sheet = wb[result_graph]

data_to_plot_1=[]
data_to_plot_2=[]
data_to_plot_3=[]

for s in sheet_names:
        df = pd.read_excel(excel_file, s)
        values = df._series['test_1']
        data_to_plot_1.append(values )

for s in sheet_names:
        df = pd.read_excel(excel_file, s)
        values = df._series['test_2']
        data_to_plot_2.append(values )

for s in sheet_names:
        df = pd.read_excel(excel_file, s)
        values = df._series['test_3']
        data_to_plot_3.append(values )

boxplot_g(data_to_plot_1,'test_1.png','D3',1,title_1,x_name)
boxplot_g(data_to_plot_2,'test_2.png','D22',2,title_2,x_name)
boxplot_g(data_to_plot_3,'test_3.png','D42',3,title_3,x_name)

sheet = wb["Sheet"]
img = openpyxl.drawing.image.Image("test.jpg")
sheet.add_image(img,"D3")

wb.save(excel_file) 
...