簡體   English   中英

[Pyinstaller]:工作代碼在轉為 exe 時會產生 ModuleNotFoundError

[英][Pyinstaller]: Working code produces ModuleNotFoundError when turned to exe

使用 Pyinstaller 3.5 和 python 3.6(與 Anaconda 一起安裝)。

我有一個 python 代碼,它明確導入 numpy 並且在使用 Spyder 或 Anaconda 提示符啟動時工作正常。

在 Anaconda 提示符下使用 pyinstaller 生成一個 exe,它生成正常,沒有任何錯誤。

但是,在啟動 exe 時(仍然來自 Anaconda 提示符),它會產生以下錯誤: ModuleNotFoundError: No module named 'numpy'

我檢查了 numpy 是否與 Anaconda 正確安裝。 我還再次安裝了它: pip install numpy exe 沒有成功(更多的是絕望的舉動)。

我也試過-hidden-import=numpy但它沒有用。 還是同樣的錯誤。

你們知道為什么這不起作用嗎?

我做了一段較短的代碼來測試這個問題:

# import all the libraries required
import os, re, time, csv, math

import numpy as np
import matplotlib
import matplotlib.figure
import matplotlib.backends.backend_tkagg
import matplotlib.patches
import matplotlib.gridspec
import itertools

from tkinter import filedialog
from tkinter import messagebox

import tkinter
import tkinter.constants as const
from tkinter import ttk

import xlrd # Read Xls files

# Compute the used colors
colors = {  "white":        [ 255,255,255],
            "lightgreen":   [ 192,255,192],
            "red":          [ 255, 64, 64],
            "grey":         [ 224,224,224],
            "darkgrey":     [  64, 64, 64],
            "green":        [   0,255,  0],
            "blue":         [ 150,150,255],
            "orange":       [ 255,190,  0],
         }
color0 = colors["red"]
color1 = colors["lightgreen"]
colorMap = np.array([color0, color1], dtype = np.uint8)

該問題的解決方案是以管理員身份運行 Anaconda 以通過 Anaconda 安裝 pyinstaller。 在快捷菜單中,右鍵單擊 Anaconda 並以管理員身份運行。 然后,可以安裝新模塊。 安裝 pyinstaller。 在 Anaconda 提示符下運行 pyinstaller。

從 Anaconda 提示符啟動時,ModuleNotFoundError 消失了,exe 運行良好。

從 finder 啟動時仍然無法正常工作,盡管這是另一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM