Python3.4.2用にtkinterを設定する

Python3.4.2用にtkinterを設定する

最近、最新の python3.X をインストール中に問題が発生しました。Afterのパッケージ
を使用してインストールし 、インストール後にモジュールをインポートしようとしましたが、成功しませんでした。 Python-3.4.2.tar.xzpython.orgtkinter

の出力は次の通りimport tkinterです。

>>> tkinterをインポートする
トレースバック(最新の呼び出しが最後):
  ファイル ""、行 1、
  ファイル「/usr/local/lib/python3.4/tkinter/__init__.py」、行38、
    import _tkinter # これが失敗する場合は、Python が Tk 用に設定されていない可能性があります
ImportError: '_tkinter' という名前のモジュールがありません

以下の解決策も試しました:

しかし、どれも役に立ちませんでした。
これらの解決策を試しているときに、次のエラーが表示されることに気付いた場合:

import _tkinter # これが失敗する場合は、Python が Tk 用に設定されていない可能性があります

それからグーグルで調べたらこれ.
読むTkinter サポートの確認セクションStep 1では失敗し、この行でスタックしました

Tcl/Tk をデフォルトの場所にインストールした場合は、単に「make」を再実行すると _tkinter 拡張機能がビルドされます。

上記の行に関して、私の質問は次のとおりです。コマンド
を実行するための make ファイルはどこにありますかmake?

また、tkinterPython3.4.2 がそれを受け入れるように設定するにはどうすればよいでしょうか?


編集:

言及するのを忘れましたが、import tkinterUbuntu 14.04.1のPythonのデフォルトインストール(Python-3.4.0)では動作します。

答え1

モジュールを使用してソースから python3.4.2 をビルドするには、_tkinter次のビルド依存関係をインストールする必要があります。

sudo apt-get install tk8.6-dev

その後、ファイルは自動的に tk/tcl ヘッダーを検出し、モジュールを作成するので、サポートmakeを追加するには再度実行するだけです。_tkintersetup.py

~/Downloads/Python-3.4.2$ make
running build
running build_ext
building '_tkinter' extension
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o
gcc -pthread -fPIC -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement -DWITH_APPINIT=1 -I/usr/include/tcl8.6 -I/usr/X11/include -I./Include -I. -IInclude -I/usr/include/x86_64-linux-gnu -I/usr/local/include -I/home/sylvain/Downloads/Python-3.4.2/Include -I/home/sylvain/Downloads/Python-3.4.2 -c /home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.c -o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o
gcc -pthread -shared build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/_tkinter.o build/temp.linux-x86_64-3.4/home/sylvain/Downloads/Python-3.4.2/Modules/tkappinit.o -L/usr/X11/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -ltk8.6 -ltcl8.6 -lX11 -o build/lib.linux-x86_64-3.4/_tkinter.cpython-34m.so

Python build finished successfully!
The necessary bits to build these optional modules were not found:
_bz2                  _dbm                  _gdbm              
_lzma                 _sqlite3                                 
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
[...]

これで、python3.4.2 で tkinter をインポートできます。

~/Downloads/Python-3.4.2$ ./python 
Python 3.4.2 (default, Oct 30 2014, 11:34:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

元の回答:

本当にpython3.4.2が必要なのでなければ、14.04のデフォルトのpython3バージョンを使うだけでいいでしょう(3.4.0

次に、次のパッケージをインストールするだけです。

sudo apt-get install python3-tk tk

次のように Python インタープリターを起動します。

/usr/bin/python3

/usr/localそれ以外の場合は、常に(3.4.2)でインストールしたバージョンが取得されます。

Python3 で tk をインポートすると動作するはずです:

$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> 

答え2

matplotlibにのみtkinterが必要な場合は、Eggのような別のバックエンドを使用することもできます: import matplotlib as mpl mpl.use('Agg') import matplotlib.pyplot as plt

詳細を見るここ

答え3

sudo apt-get install python3-tk tk  

pyenv install 3.5.0  

それでおしまい

答え4

参考までに、私は Ubuntu 16.04 を使用しています。最初の回答に加えて、Python ファイルから次の操作を実行します (抽出後)。

./configure #(there will be a configure file)
make
make test
sudo make install

最初にこれらのことを実行しましたが、それでも次のエラーが表示されました:

IDLE can't import Tkinter.  Your Python may not be configured for Tk.

python3 -m idlelib.idlecmd から実行中。

そこで私はこうしました:

sudo apt-get install tk-dev

または、

sudo apt-get install tk8.6-dev

また

./configure
make
make test
sudo make install

python3 -m idlelib.idleこれにより、次に実行したときにIDLE が開かれたため、問題は解決しました 。

関連情報