2016-12-19 5 views
2

実行可能ファイルを実行したいのですが、実行時に.exeを実行します。ImportError: No module named 'tkinter'と書き込みます。ImportError:pyInstallerの後に 'tkinter'という名前のモジュールがありません

私のPythonプログラムは単純です(ODEソルバ)とリクエストのみ:

from math import* 
from pylab import* 
import numpy as np 

import matplotlib 
import numpy as np 
import matplotlib.pyplot as plt 

私はpyInstallerのがあるC:\Python\Scriptsフォルダに私のprog.pyのコピーを貼り付けます。コマンドラインpyinstaller -F eulersolver.pyを計算すると、distフォルダにprog.exeが作成されます。私はこのコードを実行すると、あなたはどんな提案を持っているか、私のために助けてください...私は

ImportError: No module named 'tkinter' 
Failed to execute script prog 

を持っていますが、私のプログラムは、このモジュールを使用していませんか?

OS: Windows64

のPython: 3.5 Win64の

注:私はすでにアンイ/(このwebsideに、海外でのドキュメントを読んだ後)今日のpythonを3回インストールします。

注2:私は科学的な問題のためだけにPythonを使用します。私はコンピュータのものを説明する際にとても親切に私にも、何のコンピュータ科学者午前:S

+0

EDIT(私自身のpost -_-を編集することができないため):コマンドラインは実際には 'pyinstaller -F prog.py' – John

+0

' matplotlib'プロットを使ってウィンドウを表示するために 'tkinter'を使います。 – furas

+0

'tkinter'をインポートしようとすると、おそらくtkinterモジュールも割り当てられます。あるいは、 'pyinstaller'を実行する前にconfigを設定する方法を読んでください。 'tkinter'は言語' tcl'とそのgui 'tk'で外部' dll'を使います。あなたは 'tcl.dll'と' tk.dll'に関する設定情報を手動で追加する必要があります(Windowsを使わないのでそれが 'tcl.dll'と' tkであるかどうかわかりません。dll') – furas

答えて

1

あなたが
pyinstaller eulersolver.py --hidden-import=tkinter -y

2

がFINALLY pyinstaller -F --hidden-import=tkinter --hidden-import=tkinter.filedialog prog.pyおかげでたくさんのために働い隠しインポートを使用する必要があります!

0

pyinstallerには、の第2レベルのインポートが表示されません。したがって、モジュールをインポートすると、pyinstallerはこれを認識します。しかし、にインポートされた追加のモジュールは表示されません。

Pythonスクリプトで何も変更する必要はありません。不足しているインポートを直接仕様ファイルprog.spec)に直接追加することができます。 prog.exeを作成するために、その実行pyinstaller prog.spec

hiddenimports=["tkinter"], 

hiddenimports=[], 

: ちょうど次の行を変更します。

関連する問題