Cài đặt tkinter cho Python


277

Tôi đang cố gắng để import Tkinter. Tuy nhiên, tôi nhận được một thông báo lỗi Tkinterchưa được cài đặt:

ImportError: No module named _tkinter, please install the python-tk package

Tôi có thể có thể cài đặt nó bằng trình quản lý synaptic (tôi có thể?), Tuy nhiên, tôi sẽ phải cài đặt nó trên mọi máy tôi lập trình. Có thể thêm thư viện Tkinter vào không gian làm việc của tôi và tham chiếu nó từ đó không?


giải pháp cho câu trả lời đề nghị làm việc cho bạn? Nó không phải cho tôi: E: Unable to locate package python-tkanyomne có vấn đề này?
Charlie Parker

8
Đối với những gì nó có giá trị, nếu bạn gặp lỗi matplotlib này, không nhất thiết phải cài đặt Tkinter. Gọi matplotlib.use('Agg')ngay sau khi nhập matplotlib.
Daniel F

7
Bạn có thể sử dụng import matplotlib matplotlib.use('agg') import matplotlib.pyplot as pltnếu bạn không muốn cài đặttkinter
markroxor

6
Nếu bạn sử dụng python3.6dosudo apt-get install python3.6-tk

Câu trả lời:


404

Không dễ để cài đặt Tkinter cục bộ để sử dụng với Python do hệ thống cung cấp. Bạn có thể xây dựng nó từ các nguồn, nhưng đây thường không phải là ý tưởng tốt nhất với bản phân phối dựa trên gói nhị phân mà bạn rõ ràng đang chạy.

Nó an toàn hơn apt-get install python-tktrên (các) máy của bạn. (Hoạt động trên các bản phân phối có nguồn gốc từ Debian như cho Ubuntu; hãy tham khảo trình quản lý gói và danh sách gói của bạn trên các bản phân phối khác.)


2
@BryanOakley: Chắc chắn. Các poster dường như có một hộp Linux dựa trên apt, do đó, câu trả lời. Điều này trông giống như một vấn đề hẹp. Tôi không mong đợi câu trả lời này sẽ nhận được rất nhiều sự ủng hộ.
9000

62
Và đối với python3 apt-get install python3-tktại thời điểm nhận xét này cho Ubuntu 15.04
jmunsch

1
Tôi cũng đã làm nó cho python3.4 và ubuntu 15.04:apt-get install python3-tk
hassan ketabi

4
Chỉ cần thực hiện bài tập này trên Mint18 (bắt nguồn từ 16.04 Ubuntu) và nó đã tăng gấp đôi. sudo apt install -y python3-tk
Mục sư

Làm thế nào để cài đặt tkinter từ các nguồn? Tôi đã tcl / tk, xác minh bằng cách sử dụng wish. Tôi không thể tìm thấy tarball nguồn cho tkinter.
lapin

83

Trên thực tế, bạn chỉ cần sử dụng các cách sau để cài đặt tkinter cho python3:

sudo apt-get install python3-tk

Ngoài ra, đối với người dùng Fedora, hãy sử dụng lệnh sau:

sudo dnf install python3-tkinter

2
Cảm ơn! Nó thực sự đòi hỏi python3-tk, không phải python-tk.
zkan

Nếu bạn là người mới sử dụng Linux như tôi, hãy lưu ý rằng nếu apt-get gặp sự cố khi tìm / cài đặt python3-tk, hãy thử chạy sudo apt-get updatetrước. Trong hệ thống Linux Mint 18.3 32 bit của tôi, Synaptic và apt-get dường như yêu cầu điều đó thường xuyên hơn tôi nghĩ ...
RBV

Tôi nhận được python3-tk đã là phiên bản mới nhất (3.5.1-1) và khi tôi nhập tkinter tôi vẫn nhận được: ModuleNotFoundError: Không có mô-đun nào có tên 'tkinter' Tôi sử dụng (Python 3.7.5)
sqp_125

Giải pháp: sudo apt-get install python3.7-tk
sqp_125

66

Nếu, giống như tôi, bạn không có quyền root trên mạng vì những người bạn tuyệt vời của bạn trong IS và bạn đang làm việc trong một cài đặt cục bộ, bạn có thể gặp một số vấn đề với các cách tiếp cận ở trên.

Tôi đã dành nhiều năm cho Google - nhưng cuối cùng, điều đó thật dễ dàng.

Tải xuống tcl và tk từ http://www.tcl.tk/software/tcltk/doad.html và cài đặt chúng cục bộ.

Để cài đặt cục bộ trên Linux (tôi đã thực hiện nó vào thư mục chính của mình), giải nén các tệp .tar.gz cho tcl và tk. Sau đó mở các tệp readme bên trong thư mục ./unix. Tôi đã chạy

cd ~/tcl8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711
make
make install

cd ~/tk8.5.11/unix
./configure --prefix=/home/cnel711 --exec-prefix=/home/cnel711 --with-tcl=/home/cnel711/tcl8.5.11/unix
make
make install

Nó có vẻ đau, nhưng các tập tin rất nhỏ và cài đặt rất nhanh.

Sau đó chạy lại python setup.py buildpython setup.py installtrong thư mục cài đặt python của bạn - và nó sẽ hoạt động. Nó hoạt động với tôi - và bây giờ tôi có thể nhập Tkinter, v.v. vào nội dung của trái tim tôi - yipidy-yay. Cả một buổi chiều dành cho việc này - hy vọng ghi chú này sẽ cứu người khác khỏi nỗi đau.


2
Xin chào Simon. Tôi vừa mới tải xuống linux. Tôi cần cài đặt tcl / tk và python cục bộ. Tôi muốn cài đặt chúng vào "/ home / cnel711 / install /". Sau khi cài đặt tcl / tk. Tôi có nên đặt đường dẫn cho Python không? và làm thế nào. Tôi cũng sử dụng ./mình để cài đặt python. cảm ơn
Samuel

Xin chào Tôi đã cài đặt tcl / tk cục bộ và tôi đã xây dựng lại python. Nhưng, trong khi xây dựng python (cục bộ), tôi gặp lỗi: libtk8.6.so: không thể mở tệp đối tượng dùng chung: Không có tệp hoặc thư mục như vậy và mô-đun _tkinter đã không được xây dựng. Tôi thậm chí đã thử thiết lập đường dẫn đến thư viện tcl / tk của mình --with_tcltk_libsnhưng điều này không giúp được gì.
rivendell

7
Bạn đang đề cập đến tập tin setup.py nào? Tôi có thể tìm thấy cái đó ở đâu? Tôi bị lạc ở đó.
David Merinos

1
@DavidMerinos, tôi cho rằng setup.pytập tin sẽ được tìm thấy trong thư mục nguồn nơi bạn đã cài đặt Python ban đầu - đó là nơi tôi tìm thấy nó. Nếu bạn không xóa nó mà quên thư mục này ở đâu, bạn có thể chạy find ~ -type f -name setup.pylệnh từ bất cứ nơi nào có vỏ.
Acsor

4
Tôi có hơn 100 tệp có tên setup.pytrên máy của tôi. Bạn đang nói về cái nào?
jodag

39

Nếu bạn đang sử dụng Python 3 thì có thể là do bạn đang gõ Tkinterkhông phảitkinter


Tôi đang ở trên cửa sổ và điều này đã khắc phục vấn đề của tôi một cách dễ dàng. :)
Yan Zhao

22

Đối với người dùng Arch Linux, nó hơi giống

sudo pacman -S tk

22

bạn sẽ cần gói và phụ thuộc của nó.

vì bạn đã đề cập đến synap, bạn phải sử dụng hệ thống dựa trên Debian. một cách để có được những gì bạn cần:

sudo apt-get install python-tk

E: Unable to locate package python-tkAnyomne có vấn đề này?
Charlie Parker

@CharlieParker nó trong Repos Ubuntu chính: packages.ubuntu.com/python-tk
Corey Goldberg

@CharlieParker có - Tôi đã và chưa sắp xếp nó ra
ashley

15

Đối với Python 2.7:

Bạn không cần tải xuống Tkinter - đó là một phần không thể thiếu của tất cả các bản phân phối Python (ngoại trừ phân phối nhị phân cho các nền tảng không hỗ trợ Tcl / Tk).

vì nó nói ở đây . Trong trường hợp của tôi, trên Windows, điều đã giúp là cài đặt lại bản phân phối Python. Có lẽ từ lâu tôi đã bỏ chọn tính năng cài đặt "Tcl / Tk". Sau khi cài đặt lại tất cả hoạt động tốt và tôi có thể import _tkinterimport Tkinter.


10

Nếu bạn đang sử dụng RHEL, CentOS, Oracle Linux, v.v. Bạn có thể sử dụng yum để cài đặt mô-đun tkinter

yum install tkinter

3
Xin lưu ý rằng cài đặt này tkinterchopython2
nhầm

1
Fedora với trăn 3.5:sudo dnf install python3-tkinter
Jordan Stewart

Trên CentOS 7, tôi đã cài đặt tkinter nhưng vẫn là python mặc định của tôi (2.7) phàn nàn "Không có mô-đun có tên tkinter"!
Nimar

5

tk-devel cũng cần phải được cài đặt trong trường hợp của tôi

yum cài đặt -y tkinter tk-devel

cài đặt chúng và xây dựng lại python


4

Đối với người dùng python3, cài đặt gói python3-tk bằng lệnh sau sudo apt-get install python3-tk


3

Nếu bạn đang sử dụng Python 3thì bạn phải cài đặt như sau:

sudo apt-get update
sudo apt-get install python3-tk

Tkinter cho Python 2( python-tk) khác với Python 3's ( python3-tk).


Tại sao phải nâng cấp trước khi cập nhật? Và điều đó sẽ ảnh hưởng đến nhiều phần mềm hơn là chỉ python / tk.
Matthew đọc

1
@MatthewRead Tôi đã thay đổi nó. Tôi đã để nó ở đó một cách tình cờ và bạn đã đúng. Tôi không có gì để làm với quá trình cài đặt Tk.
gon132

E: Unable to locate package python3-tkbạn có cái này không
Charlie Parker

@CharlieParker python3-tktồn tại trên Xubuntu 16.04 quản lý gói.
gon132

3

Fedora phát hành 25 (Hai mươi lăm)

dnf install python3-tkinter

Điều này làm việc cho tôi.


Điều này vẫn tồn tại trên f26.
mikeymop

3

Đối với python 3.7 trên Ubuntu tôi phải sử dụng sudo apt-get install python3.7-tkđể làm cho nó hoạt động


3

Nếu bạn muốn cài đặt nó, bạn phải đi đến thiết bị đầu cuối của bạn và gõ: -

sudo apt-get python-tk

Và nếu bạn muốn cập nhật một gói hoặc python hiện có trong trường hợp này: -

sudo apt-get update 

Sau đó tất cả các gói của bạn sẽ được cập nhật. Và nếu bạn muốn xóa gói, bạn chỉ cần nhập: -

sudo apt-get remove [package name]#in this case python-tk

1
thông tin không chính xác trong câu trả lời này. sudo apt-get python-tkkhông phải là một lệnh hợp lệ. bạn có thể có nghĩa là sudo apt-get install python-tk. Ngoài ra, sudo apt-get updatekhông nâng cấp bất cứ điều gì, nó chỉ cập nhật danh sách gói địa phương của bạn. bạn cần chạy một upgradehoặc dist-upgradeđể thực sự nâng cấp các gói.
Corey Goldberg

2

Có _tkinter và Tkinter - cả hai đều hoạt động trên Py 3.x Nhưng để an toàn- Tải xuống Loopy và thay đổi thư mục gốc python của bạn (nếu bạn đang sử dụng IDE như PyCharms) vào thư mục cài đặt của Loopy. Bạn sẽ nhận được thư viện này và nhiều hơn nữa.


loét? OP không bao giờ đề cập đến điều đó
Corey Goldberg

2

Tình hình trên macOS vẫn hơi phức tạp , nhưng có thể:

Python.org khuyên bạn nên tải xuống tkinter từ ActiveState , nhưng trước tiên bạn nên đọc giấy phép của họ (gợi ý: không phân phối lại hoặc muốn Hỗ trợ).

Khi tải xuống được mở, OS X 10.11 đã từ chối vì nó không thể tìm thấy biên nhận của tôi: "Không thể mở ActiveTcl-8.6.pkg vì nó là của một nhà phát triển không xác định".

Tôi đã theo dõi bản sửa lỗi OSXD Daily từ năm 2012 trong đó đề xuất cho phép từ bất cứ đâu. Nhưng OS X hiện đã thêm tùy chọn "Open Anyway" để cho phép (ví dụ) Active-Tcl tắt một lần và tùy chọn "Bất cứ nơi nào" đã hết thời gian chờ.

Cảnh báo mới cho "Mọi nơi"


2

Tkinter là một mô-đun GUI cho python. bạn có thể sử dụng nó để tạo các ứng dụng dựa trên GUI trong python. T. ..

Trong hướng dẫn này, chúng ta sẽ xem cách cài đặt nó trên linux và sử dụng nó với một ví dụ.

Đầu tiên, hãy kiểm tra xem bạn đã cài đặt python chưa và cũng kiểm tra phiên bản của nó

Mở terminal của bạn và gõ python. nếu được cài đặt thì nó sẽ hiển thị thông tin như phiên bản, giúp ... kiểm tra phiên bản của bạn (của tôi là python 2.7.9)

aman @ vostro: ~ $ python Python 2.7.9 (mặc định, ngày 2 tháng 4 năm 2015, 15:33:21) [GCC 4.9.2] trên linux2 Loại "trợ giúp", "bản quyền", "tín dụng" hoặc "giấy phép" để biết thêm thông tin.

Nếu bạn không có python thì hãy cài đặt nó sudo apt-get install python

Nếu bạn muốn cài đặt python 3 thì hãy nhập như sau. Nếu bạn là người mới, tôi muốn giới thiệu python 2 thay vì python 3. Python 2 vẫn rất phổ biến và nhiều ứng dụng được tạo ra trên đó. Trên Ubuntu python2 vẫn là cài đặt mặc định sudo apt-get python3

Cuối cùng, Cài đặt Tkinter

sudo apt-get install python-tk

cho trăn 3

sudo apt-get install python3-tk

Làm thế nào để sử dụng nó

Bây giờ, hãy kiểm tra xem Tkinter có hoạt động tốt với ví dụ nhỏ này không

mở thiết bị đầu cuối của bạn và nhập vào vỏ trăn của bạn. trăn

cho python3 python3

nếu python được cài đặt chính xác, bạn sẽ nhận được một dấu nhắc >>>. aman @ vostro: ~ $ trăn

Python 2.7.9 (default, Apr  2 2015, 15:33:21)
[GCC 4.9.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.
>>>

Bây giờ nhập mô-đun Tkinter. Nó sẽ không hiển thị bất kỳ lỗi nếu nó được nhập chính xác. LƯU Ý: Đảm bảo bạn nhập Tkinter (không phải tkinter) trong python2 và tkinter (không phải Tkinter) trong python3.

>>>import Tkinter

Bây giờ, chỉ cần kiểm tra bạn có thể tạo một cửa sổ trống bằng Tkinter.

>>>Tkinter.Tk()

1

Đối với Fedora> = 25 và python> = 3, chúng tôi có thể cần bao gồm các phụ thuộc cho Tkinter

sudo dnf install python3-tkinter


0

viết tkinter không phải Tkinter (Tkinter dành cho python 2, tkinter cho python 3)


-3

Nếu bạn có Python 3.7.2, bạn không cần phải cài đặt bất cứ thứ gì, chỉ cần nhập chính xác:

from tkinter import *

Đây là những gì người đăng câu hỏi nói không hoạt động.
PythonLuaMaster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.