다음 라이브러리를 사용하여 Expiration_Report.py라는 .py 스크립트를 작성했습니다 : pandas, numpy. 이 코드는 Spyder (Python 3.6)에서 실행될 때 완벽하게 실행됩니다.(cx_Freeze를 사용하는 Python3.6) Exe는 팬더, numpy 애플리케이션을 실행하지 않습니다
import sys
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os"],
"excludes": ["tkinter"]}
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "console"
setup( name = "my prog",
version = "1.0",
description = "My application!",
options = {"build_exe": build_exe_options},
executables = [Executable("Expiration_Report.py", base = base)])
을 :
(모든 것을 아나콘다를 사용하여)
는나는 다음 Expiration_Report.exe에 Expiration_Report.py을 변환하기 위해 다음 코드로 'setup.py'라는 또 다른 평 파일을 생성 그런 다음 명령 프롬프트에서 다음과 같이 씁니다.
python setup.py build
오류없이 빌드됩니다. 빌드 폴더는 .exe 파일과 함께 사용할 수 있습니다. 그러나 빌드 폴더에서 .exe 파일을 실행할 때 아무 일도 발생하지 않습니다.
import pandas as pd
import numpy as np
df = pd.read_excel('C:/Users/Salman/Desktop/WIP Board - 007.xlsx', index_col=None, na_values=['NA'])
df.columns = df.iloc[12]
df.columns
df.shape
df = df.dropna(axis=1, how = 'all')
df
df.columns
df1 = df.copy()
df1 = df1.iloc[13:]
df1
df1 = df1.dropna(axis=1, how = 'all')
df1.shape
from datetime import datetime
print(str(datetime.now()))
df2 = df1.copy()
df2["Now_Time"] = pd.Series([datetime.now()] * (13+len(df1)))
df2["Now_Time"]
df2
df2.fillna(value='NaN')
df2 = df2.dropna(how='any')
df2.shape
df3 = df2.copy()
df3 = df3[df3.Size>0]
df3['Lot Expiration Date'] = pd.to_datetime(df3['Lot Expiration Date'])
df3['Days_Countdown'] = df3[['Lot Expiration Date']].sub(df3['Now_Time'], axis = 0)
df3.dtypes
df3['Hours_Countdown'] = df3['Days_Countdown']/np.timedelta64(1, 'h')
df3 = df3.sort_values('Hours_Countdown')
df_expiration = df3[df3.Hours_Countdown<12]
df_expiration['Hours_Countdown'].astype(int)
df_expiration
df_expiration.to_excel('C:/Users/Salman/Desktop/WIP Board - 000.xlsx', sheet_name = 'Sheet1')
cs_Freeze에서 exe 파일을 작성하는 방법이 올바른지 : 여기
는 Expiration_Report.py 스크립트의 코드입니다. HelloWorld.py라는 간단한 스크립트를 exe로 변환 했으므로 제대로 작동했습니다. 그것은 팬더 라이브러리를 가져 오지 않고 exe를 종료합니다.