[Pyinstaller]: рабочий код выдает ModuleNotFoundError при обращении к exe - PullRequest
1 голос
/ 19 октября 2019

Работа с Pyinstaller 3.5 и python 3.6 (установленными с Anaconda).

У меня есть код на python, который явно импортирует numpy и прекрасно работает при запуске с Spyder или приглашением Anaconda.

Использованиеpyinstaller для создания exe-файла в приглашении Anaconda генерирует штраф без ошибок.

Однако при запуске 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)

1 Ответ

0 голосов
/ 20 октября 2019

Решением проблемы было запустить Anaconda от имени администратора для установки pyinstaller через Anaconda. В контекстном меню щелкните правой кнопкой мыши на Anaconda и запустите от имени администратора. Затем возможна установка новых модулей. Установите pyinstaller. Запустите pyinstaller в командной строке Anaconda.

Ошибка ModuleNotFoundError исчезла, и исполняемый файл работает нормально при запуске из командной строки Anaconda.

По-прежнему не работает при запуске из Finder, хотя это еще одна проблема.

...