ImportError: जिसका नाम '_tkinter' नहीं है, कृपया python3-tk पैकेज स्थापित करें


28

मैं सामान्य रूप से उबंटू और लिनक्स में नया हूं।

मैंने अपने लैपटॉप (विंडोज 10 और उबंटू) पर एक दोहरी बूट ओएस बनाया।

  • टाइपिंग: sudo apt-get install python3-tk(या यहां तक ​​कि python-tk) काम नहीं किया।
  • python3-devया python-devel(कोई भाग्य) स्थापित करने की कोशिश कर रहा है ।
  • मैन्युअल रूप से स्थापित करने के लिए Tcl और Tk डाउनलोड करना।

विंडोज 10 बैश सबसिस्टम में Tk और Tcl पहले से ही शामिल हैं, इसलिए मैंने सोचा कि Ubuntu पहले से ही थी। लेकिन, मैं पायथन जीयूआई ऐप विकसित करने के लिए अपने उबंटू डेस्कटॉप का उपयोग करना चाहता हूं।

तो, मैं GUI विकास के लिए पायथन 3.5 में उपयोग किए जाने वाले Tcl / Tk को कैसे स्थापित कर सकता हूं?

मैंने Python 3.5.2 को लोड किया है लेकिन GUI मॉड्यूल को सक्षम करने की आवश्यकता है।

परीक्षण करने के लिए कि Tk काम कर रहा है:

  1. प्रकार python3
  2. प्रकार:

    import tkinter   
    tkinter._test()
  3. परिणाम: GUI पॉप-अप प्रदर्शित करना This is a Tcl/Tk version..


3
"मैंने पायथन 3.5.2 लोड किया है" - बिल्कुल कैसे? यदि आप एक मैन्युअल रूप से स्थापित अजगर चला रहे हैं, तो apt-get के साथ सिस्टम अजगर पैकेज स्थापित करने में मदद की संभावना नहीं है
Steeldriver

1
मैंने देखा कि आपके अपने प्रश्न का उत्तर Tcl / Tk को स्रोत से संकलित करना है, लेकिन मुझे नहीं लगता कि जब तक आप मैन्युअल रूप से Python को स्थापित नहीं करते हैं, यानी Apt पैकेज मैनेजर का उपयोग किए बिना। क्या आप स्पष्ट कर सकते हैं कि आपने पायथन को मैन्युअल रूप से स्थापित किया था? python3-tkआपके द्वारा प्रदान किए गए पायथन कोड को स्थापित करना और फिर चलाना मेरे सिस्टम पायथन 3 पर काम करता है
edwinksl

जवाबों:


30

sudo apt-get install python3-tktkinterPython3.xx के लिए स्थापित करता है

सूत्रों का कहना है:

https://stackoverflow.com/questions/6084416/tkinter-module-not-found-on-ubuntu https://pythonprogramming.net/python-3-tkinter-basics-tutorial/


6
नोट - python3.6 के लिए जिसमें python3.5 मेरा डिफ़ॉल्ट था, मुझे उपयोग करना था ... python3.6-tk इंस्टॉल करें ...
स्टीवजे

+1। मैं इसे पढ़ने वालों के लिए जोड़ूंगा कि tkinter के पास PyPI पैकेज नहीं है ताकि उबंटू पैकेज प्रबंधक का उपयोग इस सुझाव के रूप में किया जा सके और यह अगले सर्वोत्तम विकल्प की संभावना है।
23 सितंबर

1
@dpritch एक पैकेज यूनिवर्स भंडार [pypibrowser] (कहा जाता है में उपलब्ध नहीं है packages.ubuntu.com/... जो कार्यक्षमता मेरा मानना है कि आप देख रहे हैं की आपूर्ति चीयर्स।!
बड़ी गीक

python3-tkinterdnfकम से कम फेडोरा पर मेरे लिए ।
पिसिस

@Pysis मुझे आपके द्वारा अनुभव की गई किसी भी उलझन के लिए खेद है। यह पूरी साइट की तरह यह उत्तर उबंटू के बारे में है। आपको दौरे से लाभ हो सकता है पहला वाक्य इसे बहुत स्पष्ट करता है, यदि नहीं, तो आगे स्पष्टता यहां उपलब्ध है। चीयर्स!
एल्डर गीक

26

अजगर 3.5 आभासी वातावरण के लिए पायथन 3.5 के साथ "सिस्टम" अजगर (उबंटू) के रूप में, मुझे मैच करने के लिए tk 3.6 स्थापित करना पड़ा;

sudo apt-get install python3.6-tk

उबंटू में मेरा डिफ़ॉल्ट अजगर 3.5 था, इसलिए 3.6 के लिए एक वेनव का उपयोग करते समय, मुझे एक आयात त्रुटि मिलेगी। थोड़ी देर के लिए मुझे पागल कर दिया।

[संपादित करें: जैसा कि यह सवाल है]

सामान्य तौर पर, ऐसा लगता है कि यदि कोई व्यक्ति किसी आधार संस्करण की तुलना में किसी भिन्न संस्करण के अजगर के साथ आभासी वातावरण का उपयोग कर रहा है, तो किसी को आभासी वातावरण में उपयोग किए जाने वाले अजगर के संस्करण के लिए tk स्थापित करना होगा।

sudo apt install python3.x-tk

जहां 3.x आभासी वातावरण के संस्करण से मेल खाएगा।

[संपादित करें]

Tk के लिए रिपॉजिटरी को जोड़ना आवश्यक हो सकता है। मेरे अनुभव में, यह वही रिपॉजिटरी थी जिसमें से मैंने python3.6 निकाला था, लेकिन यह समय के साथ बदल सकता है;

sudo add-apt-repository ppa:deadsnakes/ppa

1
दिलचस्प। आप यह बताने के लिए आगे बढ़ सकते हैं कि आपने किस PPA से इसे स्थापित किया है जहाँ तक मैं देख सकता हूँ कि इस समय रिपॉजिटरी में python3.6-tk मौजूद नहीं है
एल्डर गीक

1
मैंने इसे और अधिक चालू करने के प्रयास में एक और संपादन किया।
एल्डर गीक

3
आखिरकार! यह मेरे लिए काम किया है जब sudo apt-get install python3-tkनहीं किया था। धन्यवाद
पीटर

2
अजगर 3.7 के लिए मुझे sudo apt-get install python3.7-tkइसे काम करने के लिए उपयोग करना था
इलियास

वह यह था। एकमात्र समाधान जो स्टैकओवरफ़्लो के बारह पृष्ठों में मेरे लिए काम करता था।
अवियो

0

स्रोत से इंस्टॉल करते समय यह दिलचस्प हो सकता है (जो अधिकांश अजगर उपयोगकर्ता नहीं करेंगे):

Tcl और tk को इंस्टॉल करने के बाद ।

अजगर के अपने संस्करण पर वापस जाएं make। और, यदि pythonमौजूद के कई संस्करण , ए make altinstall

  1. पायथन 3.5 खोलें
  2. प्रकार:

    import tkinter
    tkinter._test()
  3. परिणाम ठीक है - पॉप जीयूआई खोला और उम्मीद के मुताबिक काम कर रहा है।


2
-1 यह ज्यादातर लोगों के लिए प्रासंगिक नहीं होगा क्योंकि अधिकांश स्रोत से बजाय पैकेज मैनेजर के माध्यम से स्थापित होंगे।
रॉकजेक28

परिचय जोड़ा, तो यह भ्रमित नहीं है और अभी भी कोई मदद कर सकता है जाएगा
mit

0

मेरे मामले में, मुझे निम्न कार्य करने के बावजूद python3.5 के लिए "ImportTrror: No मॉड्यूल '' _tkinter 'नामक कोई त्रुटि नहीं मिल रही थी : - स्थापित python3-tk और tkinter-dev - Tkinter निर्देशिका / में उपलब्ध होना usr / lib / python3.5।

देखी गई त्रुटि निम्न फ़ाइल से थी:

फ़ाइल "/usr/local/lib/python3.5/tkinter/ init .py", पंक्ति 35, आयात में _tkinter # यदि यह विफल रहता है तो आपका पायथन Tk के लिए कॉन्फ़िगर नहीं किया जा सकता है।

हालाँकि, जब मैंने बस टर्मिनल से / usr / bin जैसे / usr / bin / prthon को टर्मिनल से चलाया , तो यह मेरे लिए काम कर गया!

संक्षेप में, बस यह सुनिश्चित करें कि टर्मिनल से चलाए जा रहे अजगर संस्करण में सागौन स्थापित और कॉन्फ़िगर किया गया है :)

मेरे पास Ubuntu16.04 मेरे सिस्टम पर स्थापित है जो डिफ़ॉल्ट python2.7 और python3.5 के साथ आता है


0

सिर्फ लाइब्रेरी फ़ाइलों को स्थापित करना काम नहीं कर सकता क्योंकि आप लाइब्रेरी का उपयोग करना चाहते हैं, इसे विकसित नहीं करते हैं।

यह मेरे लिए काम किया:

$ sudo apt install tk8.6-dev

हालांकि यह प्रश्न का उत्तर दे सकता है, शायद आप इसका विस्तार यह बताने के लिए कर सकते हैं कि उपरोक्त आदेश क्या करता है और यह समस्या को ठीक क्यों कर सकता है?
जोशुआ बेसनीटेट

ismailarilik क्या @JoshuaBesneatte कहने की कोशिश कर रहा है: न केवल अनुरोधकर्ता को आदेश दें, बल्कि यह बताएं कि कमांड क्या करते हैं और उसे क्यों लागू करना चाहिए। जैसा कि यह खड़ा है, गुणवत्ता की कमी के कारण आपका उत्तर हटाए जाने की संभावना है ... :
फैबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.