Không thể nhập tkinter trong Python3, nhưng nó hoạt động trong python2 (Python3.7 macOS Catalina)
Chạy python3để đưa tôi vào python và sau đó chỉ cần chạy import tkinterdẫn đến lỗi sau:
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
Tuy nhiên khi đi vào pythonshell (không phải python3), import tkinterhoạt động tốt như mong đợi. Làm cách nào để tkinter hoạt động với Python3?
Xin lưu ý những điều sau:
- Tôi đang sử dụng MacOS Catalina
- Tôi đang làm việc với Python 3.7.3 (dựa trên
python3 --version) - Có vẻ như tệp thực thi python3 của tôi là (
/usr/bin/python3) - Đường dẫn cho tkinter là
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/ - Tôi có thể chạy
idletrong Terminal, nhưng tôi không thể chạyidle3 - Tôi không nghĩ rằng tôi đang sử dụng một
virtualenvhoặcpyenvhoặc bất cứ điều gì như thế
Trả lời
Bạn cần cài đặt Tcl / Tk riêng biệt. Hãy thử phiên bản mới hơn của trình cài đặt nhị phân Python3 từ python.org, gói Tcl / Tk.
Không cài đặt tkinterthông qua idle. Cố gắng idle3. Nếu không có gì, hãy cài đặt python3-tkbằng trình cài đặt hệ điều hành của bạn. (Tôi có apt. Tôi đang sử dụng Debian.). Chúc may mắn!
Không sử dụng _ trong import _tkinter
Sử dụng import tkinter
Tôi chắc chắn rằng điều này sẽ hoạt động. Nếu nó hoạt động thì hãy đánh dấu vào câu trả lời của tôi.