[英][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.