pyinstaller(またはpy2exeまたはcxfreeze)を使用して、次のPythonスクリプトを1つの実行可能ファイルにバンドルするときに問題があります。私はスペースを節約しようとしてきたpyinstallerコードだけを含めていますが、誰かが他のプログラムと連携させるためのアイデアがあれば、私に知らせてください。tkinterのpythonスクリプトEXEの作成
pyinstaller --hidden-import=matplotlib --hidden-import=numpy --hidden-import=tkinter --windowed --one-file script.py
私は、上記のバリエーションを試してみた、と私はEXEファイルを開こうとすると、エラーを「pyi_rth_pkgresスクリプトを実行することができなかった」得続けます。
import matplotlib
matplotlib.use('TkAgg')
import numpy as np
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.pyplot as plt
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self,master)
self.createWidgets()
def createWidgets(self):
fig=plt.figure(figsize=(8,8))
ax=fig.add_axes([0.1,0.1,0.8,0.8],polar=True)
canvas=FigureCanvasTkAgg(fig,master=root)
canvas.get_tk_widget().grid(row=0,column=1)
canvas.show()
self.plotbutton=tk.Button(master=root, text="plot", command=lambda:self.plot(canvas,ax))
self.plotbutton.grid(row=0,column=0)
def plot(self,canvas,ax):
c = ['r','b','g'] # plot marker colors
ax.clear() # clear axes from previous plot
for i in range(3):
theta = np.random.uniform(0,360,10)
r = np.random.uniform(0,1,10)
ax.plot(theta,r,linestyle="None",marker='o', color=c[i])
canvas.draw()
root=tk.Tk()
app=Application(master=root)
app.mainloop()
私はこれはかなり曖昧ですけど、私は誰もが私が間違っている/問題になる可能性がありますどのようなつもりどんな考えを持っていたかどうかを確認するためにそこにそれを投げるだろうと思っていました。
ありがとうございます!
編集:私はPython 3.5を使用していますが、他の誰かがそれを素晴らしいバージョンにすることができるのであれば、私は他のバージョンを試しましたが、まだ運がありません。
で実行する必要がありますか?使用されるdllの変更のために3.5+にいくつかの問題があります。 –
私は3.5 +を主に使用していましたが、私は他のバージョン(2.7、3.4)を使ってvirtualenvを使ってみました –