2016-11-18 9 views
7

मैं एक अमेज़ॅन लिनक्स ec2 मशीन पर काम कर रहा हूं।अमेज़ॅन लिनक्स पर टिंकर स्थापित करें

File "/home/sp/Envs/crispor/local/lib/python2.7/dist-packages/matplotlib/externals/six.py", line 80, in _import_module 
__import__(name) 
ImportError: No module named Tkinter 

के रूप में मैं समझता हूँ Tkinter अजगर स्थापना का एक हिस्सा होना चाहिए: जब मैं एक virtualenv के अंदर एक अजगर स्क्रिप्ट चलाने के लिए प्रयास करते हैं, मैं निम्न संदेश मिलता है। लेकिन किसी भी तरह यह नहीं है। ये काम नहीं करते -

sudo yum install python-tk 
sudo yum install tkinter 

मैं टिंकर को कैसे इंस्टॉल करूं? या मुझे ऐसा करना चाहिए कि इसे पाइथन इंस्टॉलेशन का हिस्सा होना चाहिए था?

+0

मुझे पता है के रूप में 'अमेज़न लिनक्स ec2'' headless' मशीन के रूप में काम करता है - यह मॉनिटर के बिना मतलब है - (और ग्राफिकल पर्यावरण के बिना) तो यह किसी भी जीयूआई प्रदर्शित नहीं कर सकता है - भले Tkinter। – furas

+1

यह सच है। मैं भी कोई जीयूआई प्रदर्शित नहीं करना चाहता हूं। लेकिन परियोजना में मॉड्यूल में से एक यह करता है: 'आयात matplotlib.pylab plt' के रूप में। यह टिंकर आयात करने के लिए तैयार है। – Swetabh

+0

मैं ईसी 2 उदाहरणों से एक्स अग्रेषण का उपयोग करता हूं इसलिए टिंकर उपयोगी हो सकता है – mheyman

उत्तर

1

क्या आप पाइथन संस्करण की जानकारी दे सकते हैं? इस स्थापित करने के लिए

1- प्रयास करें:

yum install python-tools 

इस पैकेज का उपयोग करता tkinder तो कर सकते हैं।

2- आप python3 का उपयोग करते हैं:

sudo yum install python3-tkinter 

3- डाउनलोड करें और पैकेज स्थापित: http://rpm.pbone.net/index.php3?stat=3&search=python27-tkinter&srodzaj=3&dist[]=79

+2

मैंने 'sudo yum इंस्टॉल पायथन-टूल्स 'की कोशिश की। यह मुझे बताता है कि 'कोई पैकेज पायथन-टूल्स उपलब्ध नहीं है' – Swetabh

+0

आज़माएं: yum install python-setuptools –

+0

पायथन-सेटअपटॉल्स पहले ही मशीन पर स्थापित है। 'पैकेज python26-setuptools-12.2-1.32.amzn1.noarch पहले से स्थापित और नवीनतम संस्करण' हालांकि वर्चुअलएन्व के अंदर पाइथन Python2.7 – Swetabh

23

आप नहीं चाहते हैं (और शायद आप नहीं कर सकते हैं) है कि सर्वर में tkinter स्थापित । बजाय गैर-इंटरैक्टिव बैकएंड का उपयोग करने के लिए matplotlib को कॉन्फ़िगर करें।

your matplotlibrc file में इस रखो:

backend : agg 
+1

है यह समाधान काम करता है! –

+1

फ़ाइल स्थान: /usr/local/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc हालांकि, अगर आप matplotlib को अपडेट करते हैं तो आप अपने संपादन खो देंगे। - फ़ाइल की एक प्रति बनाने के निर्देश हैं ताकि आप अपने संपादन न खोएं। –

4

@Goyo में जोड़ने के लिए। आप कोड को कोड में एजीजी पर भी स्विच कर सकते हैं।

import matplotlib 
matplotlib.use('agg',warn=False, force=True) 
from matplotlib import pyplot as plt 
print "Switched to:",matplotlib.get_backend() 
+0

यह मेरे लिए काम किया। धन्यवाद दोस्त। –

संबंधित मुद्दे