2017-01-03 18 views
0

私はTkinterを使ってpythonスクリプトを作成し、Pyinstallerを備えたMacを使ってパッケージしようとしています。 Pyinstallerは実行可能ファイルを作成しますが、実行しようとするとTkinterモジュールが見つからないというメッセージが表示されます。私はこのようないくつかの同様の質問があることを認識していますが、解決策のどれも私のために働いていません。ここでPyinstaller No Module Tkinter

は私main.pyスクリプトの先頭である:ここで

#!/usr/bin/env python 
import sys 
import os 
import traceback 
import json 
import time 
import Tkinter 

は私のpyInstallerのバージョンである:

$ pyinstaller --version 
3.3.dev0+483c819 

私は、このコマンドでpyInstallerのを実行します。ここでは

$ pyinstaller main.py 

ですそのコマンドの出力:

30 INFO: PyInstaller: 3.3.dev0+483c819 
30 INFO: Python: 3.4.3 
34 INFO: Platform: Darwin-15.6.0-x86_64-i386-64bit 
35 INFO: wrote /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/main.spec 
36 INFO: UPX is not available. 
38 INFO: Extending PYTHONPATH with paths 
['/Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container', 
'/Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container'] 
38 INFO: checking Analysis 
38 INFO: Building Analysis because out00-Analysis.toc is non existent 
38 INFO: Initializing module dependency graph... 
39 INFO: Initializing module graph hooks... 
40 INFO: Analyzing base_library.zip ... 
1395 INFO: Processing pre-find module path hook distutils 
2445 INFO: running Analysis out00-Analysis.toc 
2452 INFO: Caching module hooks... 
2454 INFO: Analyzing /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/main.py 
2499 INFO: Loading module hooks... 
2499 INFO: Loading module hook "hook-encodings.py"... 
2553 INFO: Loading module hook "hook-pydoc.py"... 
2553 INFO: Loading module hook "hook-xml.py"... 
2753 INFO: Loading module hook "hook-distutils.py"... 
2766 INFO: Looking for ctypes DLLs 
2766 INFO: Analyzing run-time hooks ... 
2773 INFO: Looking for dynamic libraries 
2836 INFO: Looking for eggs 
2836 INFO: Using Python library /Library/Frameworks/Python.framework/Versions/3.4/Python 
2838 INFO: Warnings written to /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/build/main/warnmain.txt 
2861 INFO: checking PYZ 
2861 INFO: Building PYZ because out00-PYZ.toc is non existent 
2861 INFO: Building PYZ (ZlibArchive) /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/build/main/out00-PYZ.pyz 
3175 INFO: checking PKG 
3176 INFO: Building PKG because out00-PKG.toc is non existent 
3176 INFO: Building PKG (CArchive) out00-PKG.pkg 
3185 INFO: Bootloader /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/PyInstaller/bootloader/Darwin-64bit/run 
3185 INFO: checking EXE 
3185 INFO: Building EXE because out00-EXE.toc is non existent 
3185 INFO: Building EXE from out00-EXE.toc 
3185 INFO: Appending archive to EXE /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/build/main/main 
3187 INFO: Fixing EXE for code signing /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/build/main/main 
3192 INFO: checking COLLECT 
3192 INFO: Building COLLECT because out00-COLLECT.toc is non existent 
3192 INFO: Building COLLECT out00-COLLECT.toc 

私は、ターミナルウィンドウは、次の出力で開き、実行実行すると:私は--hidden-import TkinterとpyInstallerのコマンドを実行しようとしたが、それはまだ動作しません

Last login: Tue Jan 3 11:35:51 on ttys004 
/Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/dist/main/main ; exit; 
[11:43:24][~]$ /Users/jonathanwilson/Documents/Projects/hr_digitization_tool/hr-records-management-tool-no-container/dist/main/main ; exit; 
Traceback (most recent call last): 
    File "main.py", line 7, in <module> 
ImportError: No module named 'Tkinter' 
Failed to execute script main 
logout 
Saving session... 
...copying shared history... 
...saving history...truncating history files... 
...completed. 

[Process completed] 

を。私はpyinstallerのdocsセクションをチェックしましたが、 "何が間違っているのか"でも解決策は見えません。

+2

in python3、Tkinterの名前がtkinterに変更されました。 –

+0

@BryanOakleyでも、この質問には 'python-2.7'というタグが付いています。また、Pythonモジュールをインストールする必要があります。これはPipで行うことができます。コマンドラインで 'pip install tkinter'を実行してください。 –

+0

ええ、pyinstallerがpython 3を選んでいるようです: '30 INFO:Python:3.4.3'そして、あなたはpipでtkinterをインストールすることはできません。 –

答えて

0

私は問題を見つけることになったので、分かち合うと思った。 Bryan Oakleyが質問のコメントで指摘したように、pyinstallerはpython3を使用していました。私はpython2 Tkinterバージョン(および他のいくつかのpython2モジュール)を使用していたので、python2が必要でした。

私はpip uninstall pyinstallerpip3 uninstall pyinstallerを実行して、pyinstallerを完全に削除したことを確認しました。私はpip2.7 install pyinstallerをpython2用にインストールしました。 PyinstallerはPython2を正しく使用し、問題なくTkinterモジュールをロードしました(私のパスにpython2が追加されていないという問題がありましたが、この問題とは無関係でした)。

関連する問題