Không tìm thấy mô-đun Tkinter trên Ubuntu


80
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> 

Mặt khác...

Python 3.2 (r32:88445, Mar 25 2011, 19:28:28) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter 

Tôi đã kiểm tra khớp thần kinh, Tkinter đã được cài đặt. Sau đó, tôi tìm thấy điều này--

Nếu nó không thành công với "Không có mô-đun có tên _tkinter", cấu hình Python của bạn cần được sửa đổi để bao gồm mô-đun này (là một mô-đun mở rộng được triển khai trong C). Không chỉnh sửa Mô-đun / Thiết lập (nó đã lỗi thời). Bạn có thể phải cài đặt Tcl và Tk (khi sử dụng RPM, hãy cài đặt cả RPM cấp độ) và / hoặc chỉnh sửa tập lệnh setup.py để trỏ đến đúng vị trí nơi Tcl / Tk được cài đặt. Nếu bạn cài đặt Tcl / Tk ở các vị trí mặc định, chỉ cần chạy lại "make" sẽ tạo ra phần mở rộng _tkinter.

Tôi đoán rằng tkinter vẫn được liên kết với python cũ trong máy tính của tôi. Làm cách nào để thay đổi điều đó để python3 có thể sử dụng tkinter?


19
"sudo apt-get install python3-tk" cài đặt tkinter cho Python3 +
markfknight

Câu trả lời:


7

Vì bạn đề cập đến synap nên tôi nghĩ bạn đang sử dụng Ubuntu. Bạn có thể cần chạy update-python-modules để cập nhật mô-đun Tkinter của mình cho Python 3.

CHỈNH SỬA : Chạy update-python-modules

Trước tiên, hãy đảm bảo rằng bạn đã python-supportcài đặt:

sudo apt-get install python-support

Sau đó, chạy update-python-modulesvới -atùy chọn để xây dựng lại tất cả các mô-đun:

sudo update-python-modules -a

Mặc dù vậy, tôi không thể đảm bảo tất cả các mô-đun của bạn sẽ được xây dựng vì có một số thay đổi về API giữa Python 2 và Python 3.


19
"sudo apt-get install python-support" dẫn đến lỗi sau "E: Package 'python-support' không có ứng cử viên cài đặt nào"
jason

5
Tôi cũng gặp lỗi tương tự như @jason E: Package 'python-support' has no installation candidatemặc dù tôi đang chạy nó từ một docker (hình ảnh tensorflow). Có ai biết cách sửa nó không?
Charlie Parker

18
@CharlieParker Trên Ubuntu 16.04 LTS, tôi đã có thể sửa lỗi này bằngapt-get install python3-tk
rohitmohta

Đối với những người bạn với E: Package 'X' has no installation candidate, bạn nên chạy sudo apt-get updatetrước.
Daniel Patrick

294

Những gì làm việc cho tôi trong Ubuntu thực sự chỉ là:

sudo apt-get install python3-tk

Đối với python 3.6:

sudo apt-get install python3.6-tk

Tôi không đọc ở đâu cả, tôi chỉ đơn giản là thử nó, vì phương pháp của onteria_ dường như không hiệu quả với tôi.


8
Gói này thực sự cần thiết đối với tôi, nhưng hãy nhớ rằng tên của Tkinterbây giờ là tkintertrong Python3, vì vậy các câu trả lời khác vẫn có liên quan.
Luke Marlin

lệnh đầu tiên tôi nhận được kết nối thất bại, điều thứ hai hoạt động tốt mặc dù
Lost ý ngông

Tôi không biết điều gì đã xảy ra, sudo apt-get install python3-tkkhông hoạt động với tôi (vẫn chưa tìm thấy tkinter), nhưng cài đặt python3-tkthông qua synap đã hoạt động. (Ubuntu 16.04 với python 3.6)
Georg

37

Câu trả lời cho câu hỏi của bạn là Tkinter được đổi tên thành tkinter trong python3

đó là chữ t viết thường


20

Trong python 3 Tkinter đổi tên thành tkinter


Đây là đáp án của câu hỏi. Tái bút: Nếu bạn chạy script của mình với shebang, đừng quên sử dụng "#! / Usr / bin / python3". Trên Ubuntu 12.04 ví dụ phiên bản mặc định của Python là 2.7.3 như vậy "Tkinter" sẽ làm việc với nhưng không phải với Python 3. "# / usr / bin / python!"
rbaleksandar

Thứ hai rằng đây là câu trả lời tốt nhất và đơn giản nhất cho câu hỏi
Hamman Samuel


13

Sử dụng lệnh sau:

sudo apt-get install python3-tk

Các lệnh sau không hoạt động:

sudo apt-get install python3-tkinter
sudo apt-get install python3-Tkinter
pip3 install Tkinter
pip3 install tkinter

8

Nếu bạn đang sử dụng Ubuntu 18.04 cùng với Python 3.6, thì pip hoặc pip3 sẽ không giúp được gì. Bạn cần cài đặt tkinterbằng lệnh sau:

sudo apt-get install python3-tk

4

điều này làm việc cho tôi:

from tkinter import *
root = Tk()
l = Label(root, text="Does it work")
l.pack()

3

Tôi đã từng gặp vấn đề tương tự. Tôi đã cố gắng sử dụng:

sudo apt-get install python3-tk

Nó báo lỗi blt (> = 2.4z-7) không có và không thể cài đặt được.

Tôi đã đến đây và cài đặt thủ công. (Đối với Ubuntu 14.04)

Sau đó, tôi sử dụng apt một lần nữa và nó hoạt động.

Tôi kết luận rằng python3.4 trong Ubuntu không đi kèm với tệp .so cần thiết để tiến hành cài đặt. Và blt được yêu cầu tải xuống.


1

Tôi thấy điều này đang tìm cách sửa lỗi cho python 3.5.

Trong trường hợp của tôi, tôi đang xây dựng python từ nguồn, đây là những gì tôi đã làm để giúp khắc phục:

Thêm tiêu đề tkinter bằng và xây dựng lại python

sudo apt-get install tk8.6-dev
sudo make

1

Thêm giải pháp mà tôi phải đối mặt với python 3.4trên Fedora 21. Hy vọng điều này sẽ giúp những người đối mặt với một vấn đề tương tự.

Bất kỳ lệnh nào sau đây sẽ cài đặt tkinter:

sudo yum install python3-tkinter
OR
sudo dnf install python3-tkinter

1

Thêm giải pháp cho CentOs 7 (python 3.6.x)

yum install python36-tkinter

Tôi đã thử mọi phiên bản có thể, hy vọng điều này sẽ giúp ích cho những người khác.


0

yêu cầu đối với tkinter:

python 3.6+

và vào shell viết mã kiểm tra như:

từ nhập tkinter *

root = Tk ()

root.mainloop ()

nhập mô tả hình ảnh ở đây

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.