質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Q&A

0回答

1094閲覧

Pyinstallerでtkinterを用いたスクリプトをexe化しようとするとerrorが出る

2dashun

総合スコア4

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

0グッド

0クリップ

投稿2020/02/16 14:29

前提・実現したいこと

tkinterを用いた簡易なグラフ描画ツールを、pyinstallerにてexe化しようとしていますが、
以下のエラーが生じてしまい、困っています。
・AttributeError: 'NoneType' object has no attribute 'get_filename'
・File "C:\Users\username\Anaconda3\lib\site-packages\PyInstaller\utils\hooks_init_.py", line 339, in get_module_file_attribute
raise ImportError

発生している問題・エラーメッセージ

C:\Users\username\Desktop>pyinstaller test.py --debug all
161 INFO: PyInstaller: 3.6
162 INFO: Python: 3.6.8 (conda)

''error部分抜粋''

Traceback (most recent call last):
File "C:\Users\username\Anaconda3\lib\site-packages\PyInstaller\utils\hooks_init_.py", line 321, in get_module_file_attribute
attr = loader.get_filename(package)
AttributeError: 'NoneType' object has no attribute 'get_filename'

During handling of the above exception, another exception occurred:

get_module_file_attribute('scipy')), location, "*.dll")

File "C:\Users\username\Anaconda3\lib\site-packages\PyInstaller\utils\hooks_init_.py", line 339, in get_module_file_attribute
raise ImportError
ImportError

該当のソースコード

python

1#!/usr/bin/env python 2# coding: utf-8 3 4import tkinter as tk 5from tkinter import ttk 6import tkinter.filedialog as fl 7import tkinter.messagebox as mb 8import numpy as np 9import matplotlib.pyplot as plt 10import pandas as pd 11 12 13######関数定義###### 14 15#ファイルpathの取得 16def button1_clicked(): 17 global filepath 18 fTyp = [("csv","*.csv")] 19 filepath = fl.askopenfilename(filetypes = fTyp,initialdir = "C:/Users/shunchan") 20# mb.showinfo('ファイル選択完了', csv) 21 22#終了ボタン 23def quit(): 24 root.destroy() 25 26#コンター図描画 27def plot_contourf(): 28 global filepath 29 30 #必要な変数の取得 31 lower_value=entry_lower.get() 32 upper_value=entry_upper.get() 33 Title=entry_title.get() 34 Xlabel=entry_Xlabel.get() 35 Ylabel=entry_Ylabel.get() 36 37 #csvファイルからデータを取得 38 df = pd.read_csv(filepath, header=None) 39 40 array=np.array(df.iloc[1:,1:]) 41 x=np.array(df.iloc[0,1:]) 42 y=np.array(df.iloc[1:,0]) 43 xx,yy=np.meshgrid(x,y) 44 45 fig, ax1 = plt.subplots(figsize=(8, 6)) 46 # 等高線を作成する。 47 contour = ax1.contourf(xx, yy, array) 48 ax1.set_title('Title') 49 ax1.set_xlabel('Xlabel') 50 ax1.set_ylabel('Xlabel') 51 contour = ax1.contourf(xx, yy, array) 52 fig.colorbar(contour) 53# plt.contourf(xx,yy,array, vmin=lower_value, vmax=upper_value,cmap='jet') 54# plt.title(Title) 55# plt.xlabel(Xlabel) 56# plt.ylabel(Ylabel) 57# cbar=plt.colorbar() 58# plt.show() 59 60# plt.savefig('figure.png') 61 62 63# fig = plt.figure() # Figureを作成 64# ax = fig.add_subplot(1,1,1) # Axesを作成 65 66 67 68######ウインドウのデザイン###### 69 70#メインウインドウ 71root=tk.Tk() 72# root.geometry("500x300") 73root.title("コンター図作成ツール") 74 75 76#frameの作成 77frame1=tk.LabelFrame(root,text="実行タブ",foreground="green") 78frame1.grid(row=0,columnspan=3,sticky="we") 79 80frame2=tk.LabelFrame(root,text="詳細タブ",foreground="green") 81frame2.grid(row=2,sticky="we") 82 83 84# canvas = FigureCanvasTkAgg(fig, root) 85# canvas.get_tk_widget().grid(row=1, column=0) 86 87 88# #frame1に表示する部品 89# message=tk.Label(frame1,text="ファイルを選択してください",width=30) 90# message.grid(row=0,column=0) 91 92blank=tk.Label(frame1,width=3) 93blank.grid(row=0,column=1) 94 95#frame1に表示する部品2 96button=tk.Button(frame1,text="select csv file",width=13,command=button1_clicked) 97button.grid(row=0,column=0) 98 99#frame1に表示する部品3 100button=tk.Button(frame1,text="plot",width=13,command=plot_contourf) 101button.grid(row=0,column=1) 102 103#frame1に表示する部品4 104button=tk.Button(frame1,text="quit",width=13,command=quit) 105button.grid(row=0,column=4) 106 107 108#frame2に表示する部品 109#下の説明 110text_title=tk.Label(frame2,text="コンターレンジ",width=20) 111text_title.grid(row=0,column=0,padx=5) 112 113text_row=tk.Label(frame2,text="グラフタイトル",width=20) 114text_row.grid(row=0,column=1,padx=5) 115 116text_column=tk.Label(frame2,text="X軸ラベル",width=20) 117text_column.grid(row=3,column=0,padx=5) 118 119text_a=tk.Label(frame2,text="Y軸ラベル",width=20) 120text_a.grid(row=3,column=1,padx=5) 121 122 123#入力フォーム 124entry_lower=tk.Entry(frame2,width=20) 125entry_lower.insert(tk.END,"0") 126entry_lower.grid(row=1,column=0,padx=5) 127 128entry_upper=tk.Entry(frame2,width=20) 129entry_upper.insert(tk.END,"100") 130entry_upper.grid(row=2,column=0,padx=5) 131 132 133entry_title=tk.Entry(frame2,width=20) 134entry_title.insert(tk.END,"title") 135entry_title.grid(row=1,column=1,padx=5,pady=5) 136 137entry_Xlabel=tk.Entry(frame2,width=20) 138entry_Xlabel.insert(tk.END,"X_label") 139entry_Xlabel.grid(row=4,column=0,padx=5,pady=5) 140 141entry_Ylabel=tk.Entry(frame2,width=20) 142entry_Ylabel.insert(tk.END,"Y_label") 143entry_Ylabel.grid(row=4,column=1,padx=5,pady=5) 144 145#データの区切り方を指定できるラジオボタンを作成 146frame3=tk.LabelFrame(frame2,text="CSVの区切り方",foreground="green") 147frame3.grid(row=5,column=0,sticky="we") 148 149var=tk.IntVar() 150var.set(0) 151 152radio_space=tk.Radiobutton(frame3,value=0,variable=var,text="スペース") 153radio_space.pack() 154radio_comma=tk.Radiobutton(frame3,value=1,variable=var,text="カンマ") 155radio_comma.pack() 156 157 158root.mainloop()

補足情報(FW/ツールのバージョンなど)

環境
python 3.6.8
pyinstaller 3.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問