Pyinstaller не создает файл .exe, если мой скрипт содержит импорт из модулей .py - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь сгенерировать файл .exe из моего скрипта .py с помощью pyinstaller, но после нескольких попыток я понял, что он работает только тогда, когда я исключаю определенные операции импорта: он отлично работает с библиотеками, файлы которых имеют расширения .pyi, а он не создает файл .exe, если я импортирую модули из файлов с расширениями .py. Например:

#### These are fine because .pyi
import tkinter as tk
from tkinter import messagebox
from threading import Thread
import decimal as dec
import math

#### These don't let Pyinstaller generate an .exe --> Most likely because these are .py files, as opposed to .pyi!!
# from PIL import ImageTk, Image
# import numpy as np
# import matplotlib.pyplot as plt
# from mpl_toolkits.mplot3d import axes3d
# from matplotlib import style
# from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

Таким образом, когда вторая группа закомментирована, я запускаю pyinstaller, но, очевидно, приложение возвращает ошибки при запуске. Однако, если я раскомментирую их, pyinstaller вообще не генерирует .exe.

Я пытался использовать --hidden-import и другие параметры pyinstaller, но, похоже, ничего не работает, кто-нибудь еще испытывал подобное проблема?

Я использую Windows, Python3 .8, pyinstaller3.6 и разрабатываю на Spyder3, если это имеет какое-либо отношение.

Заранее спасибо всем, кто ответ!

1 Ответ

1 голос
/ 28 февраля 2020

Спасибо всем тем, кто пытался ответить, я наконец разобрался с этой вещью, и это оказалось намного сложнее, чем я думал, поскольку проблема была не в моем коде или в модулях, а в конфигурации моей среды. Я в основном забыл активировать базовую среду. Очевидно, он работал нормально, пока я запускал его в Spyder, но все испортил при попытке использовать командную строку. После исправления (спасибо за ответы в этой теме ) мне удалось создать файл .exe, который прекрасно работает (хотя все еще борется с загрузкой изображений).

...