【问题标题】:Getting missing required dependencies Numpy while using Pyinstaller使用 Pyinstaller 时缺少 Numpy 所需的依赖项
【发布时间】:2019-01-26 00:30:56
【问题描述】:

我创建了一个用于合并一堆 excel 文件的迷你应用程序,但由于此错误,我无法执行 exe。我觉得奇怪的是我什至没有在我的脚本中使用 Numpy。我已经安装并重新安装了 numpy,但这并没有解决问题。

我创建了一个安装了以下库的虚拟环境。

执行exe时出错

这是我的代码:

import tkinter as tk
from tkinter.simpledialog import askstring, askinteger
from tkinter.messagebox import showerror
from tkinter import messagebox
from tkinter import filedialog
from tkinter import ttk
import os
from os import path
import pandas as pd
import fnmatch
import glob
import datetime
from datetime import datetime
import time
import calendar

class Splash(tk.Toplevel):
    def __init__(self, parent, width=0.8, height=0.6, useFactor=True):
        tk.Toplevel.__init__(self, parent)
        self.title("Splash")
        w = 300
        h = 200
        x = 50
        y = 100
        self.geometry('%dx%d+%d+%d' % (w, h, x, y))
        lbl = tk.Label(self,text="Combine Excel\n Version 1.0", bg = 'lightgrey' )
        lbl.place(x=25, y=30)
        self.master.overrideredirect(True)
        self.lift()
        ## required to make window show before the program gets to the mainloop
        self.update()

class App(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.withdraw()
        splash = Splash(self)
        ## simulate a delay while loading
        time.sleep(1)
        ## finished loading so destroy splash
        splash.destroy()

def getfiles():
    listbox.delete(0,tk.END)
    beginput = entry_1.get()
    endinput = entry_2.get()
    timefmt = "%m/%d/%y"
    start = calendar.timegm(datetime.strptime(beginput, timefmt).timetuple())
    end = calendar.timegm(datetime.strptime(endinput, timefmt).timetuple())
    year = datetime.strptime(beginput, timefmt).strftime('%Y')
    monthyr = datetime.strptime(beginput, timefmt).strftime('%m-%y') +  ' Daily Collection'
    yearmm = 'CA_LoanLvl_' + time.strftime("%Y%m%d")
    yrnmsum = 'CA_Sum_' + time.strftime("%Y%m%d")

    frame = pd.DataFrame()
    list_ = []

    cols = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,39,40,41,43,44,45,46,47,49,50,51,52,53,54,55,56,57]
    path1 = path.join(r'\\corp.int\cms\DeptData\Monthly Reporting'
                     '\Daily Collection',year,monthyr,'Data')

    pathexpt = path.join(r'\\corp.int\cms\DeptData\XX\DS\DataDownloads\Combine',yearmm)
    pathexptsum = path.join(r'\\corp.int\cms\DeptData\XX\DS\DataDownloads\Combine',yrnmsum)

    mypath = path1
    def test(f):
        if (not os.path.isfile(f)):
            return 0
        (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(f)

        return start<=ctime and end>=ctime

    files = [f for f in glob.glob(os.path.join(mypath, "adv*")) if test(f)]
    for item in files:
        listbox.insert(tk.END, os.path.basename(item))    



if __name__ == "__main__":
    App()

# Create the main window

root = tk.Tk()
s = ttk.Style(root)
s.theme_use('clam')

root.title("Combine GNMA Files")

# set the root window's height, width and x,y position
# x and y are the coordinates of the upper left corner
w = 600
h = 400
x = 50
y = 100
# use width x height + x_offset + y_offset (no spaces!)
root.geometry("%dx%d+%d+%d" % (w, h, x, y))
# use a colorful frame
frame = tk.Frame(root, bg='darkblue')
frame.pack(fill='both', expand='yes')
label = tk.Label(frame, text="Start Date-mm/dd/yy", bg = 'lightblue')
label.place(x=20, y=30)
label2 = tk.Label(frame, text="End Date-mm/dd/yy", bg = 'lightblue')
label2.place(x=20, y=100)


entry_1 = tk.Entry(root)
entry_1.place(x=20,y=60)
entry_2 = tk.Entry(root)
entry_2.place(x=20,y=130)


btn_1 = tk.Button(root,text="Get Files", bg='light grey', command = getfiles)
btn_1.place(x=400, y=15)


listbox = tk.Listbox(root)
listbox.place(x=20, y=160, width = 400)


def on_closing():
    if messagebox.askokcancel("Quit", "Do you want to quit?"):
        root.destroy()

root.protocol("WM_DELETE_WINDOW", on_closing)


root.mainloop()

【问题讨论】:

标签: python pandas numpy pyinstaller


【解决方案1】:

如果有人遇到这个问题,它似乎与导致 Pyinstaller 错误的 Numpy 版本有关。看看下面的链接。

[How to fix 'Missing required dependencies ['numpy']' when running packaged app made with PyInstaller?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2019-06-11
    • 2017-06-11
    相关资源
    最近更新 更多