Python Сравнение дат не работает в приложении .exe - PullRequest
0 голосов
/ 29 января 2020

Я создал python скрипт, который отлично работает при запуске его в Spyder. Я тогда замораживаю это с pyinstaller. Когда я запускаю приложение .exe, я получаю следующую ошибку:

enter image description here

Вот соответствующий код:

import pandas as pd
import os
from datetime import datetime, time
import teradata as td
import numpy as np
import smtplib
import xlrd #needed for .exe

### Import Fleet Plan file ###
path = '\\\PHX43XCIFSC0001\Planning'
folder = '\Aircraft Availability'
file = '\\NP Fleet Plan.xlsx'
sheet = 'Mainline'
colnames = [0,2]
link = path + folder + file
update = pd.Timestamp.date(pd.Timestamp(datetime.fromtimestamp(
        os.path.getmtime(link)), unit='s'))
mydata = pd.read_excel(link, sheet_name = sheet, header=colnames, index=None)
df = mydata

# Flatten multiindex to single columns
df.columns = (['{}:{}'.format(i[0], i[1]) for i in df])
df = df.reset_index()
df = df.rename(columns={'index':'mDate', df.columns[1]:'DOW'})

# Remove blank columns and Fleet level columns
xcolunassigned = [col for col in df.columns if 'Unnamed'  in col]
df = df.drop(xcolunassigned, axis=1)
xcolfleet = [col for col in df.columns if 'FLEET'  in col]
df = df.drop(xcolfleet, axis=1)

# Transpose data in to vectors
dft = pd.melt(df, id_vars=['mDate', 'DOW'], var_name='Status', value_name='mCount')

# Split Subfleets, join Legacy, remove 0 and NaN
dft[['Status', 'SubFleet']] = dft.Status.str.split(':',expand=True)
sDate = min(dft.mDate)
dft = dft.dropna()
dft = dft.reset_index(drop=True)
dft = dft[dft['mCount'] != 0]
dft = dft.reset_index(drop=True)

# Delete all data prior to today
dft = dft[dft['mDate'] >= datetime.combine(datetime.today(), time.min) ]
dft = dft.reset_index(drop=True)

Мне интересно, есть ли зависимость, которую мне нужно явно импортировать, как это было для библиотеки xlrd.

Спасибо за помощь.

1 Ответ

0 голосов
/ 25 февраля 2020

В итоге возникла проблема с тем, что .exe не загружал некоторые зависимости для нужных мне библиотек. После явного вызова зависимостей в моем коде приложение .exe работало отлично.

...