簡體   English   中英

如果我的腳本包含從 .py 模塊導入,Pyinstaller 不會生成 .exe 文件

[英]Pyinstaller not generating .exe file if my script contains imports from .py modules

我正在嘗試使用 pyinstaller 從我的 .py 腳本生成一個 .exe 文件,但經過多次嘗試后我意識到它僅在排除某些導入時才有效:它適用於文件具有 .pyi 擴展名的庫,而它沒有如果我從擴展名為 .py 的文件中導入模塊,則不會生成 .exe 文件。 例如:

#### 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 上開發,如果這有任何相關性的話。

預先感謝任何願意回答的人!

感謝所有試圖回答的人,我終於解決了這個問題,它比我想象的要棘手得多,因為問題不在我的代碼或模塊中,而是在我的環境配置中。 我基本上忘記了激活基礎環境。 顯然,只要我在 Spyder 中運行它就可以正常工作,但是在嘗試使用命令提示符時卻搞砸了。 一旦解決了這個問題(感謝此線程中的答案),我就設法創建了一個運行良好的 .exe 文件(盡管仍然在上傳圖像方面苦苦掙扎)。

暫無
暫無

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

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