2010-11-09 16 views
30

मैं इस त्रुटि हो रही है:पायथन matplotlib ढांचे?

/sw/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.py:235: UserWarning: Python is not installed as a framework. The MacOSX backend may not work correctly if Python is not installed as a framework. Please see the Python documentation for more information on installing Python as a framework on Mac OS X

मैं फिंक का उपयोग कर python27 स्थापित किया है और यह डिफ़ॉल्ट matplotlib macosx ढांचे उपयोग कर रहा है उपयोग कर रहा है।

+0

अजीब, मुझे यकीन है कि मैं वहाँ में फिंक डाला गया था। –

+0

आपने पायथन स्थापित करने के लिए फ़िंक का उपयोग क्यों किया? ओएस एक्स –

+0

के साथ पाइथन जहाजों को मुझे कई अन्य चीजों की आवश्यकता होती है जैसे सिसी, मैटलप्लिब, और आईपीथॉन। –

उत्तर

10

दो तरीके अजगर बनाया जा सकता है और स्थापित मैक ओएस एक्स पर एक एक पारंपरिक फ्लैट यूनिक्स-y साझा लाइब्रेरी के रूप में है। अन्य एक framework स्थापित के रूप में जाना जाता है, जहां उत्पाद के लिए घटक निर्देशिका (include, lib, bin) के सभी मुख्य ढांचा निर्देशिका के अंतर्गत उपनिर्देशिका के रूप में स्थापित कर रहे हैं ओएस एक्स पर अन्य चौखटे के समान एक फ़ाइल लेआउट। Fink प्रोजेक्ट यूनिक्स साझा लाइब्रेरी विधि का उपयोग कर पायथन स्थापित करता है। ओएस एक्स में एप्पल की आपूर्ति अजगर, python.org संस्थापक और MacPorts परियोजना, सहित अधिकांश अन्य वितरकों, अजगर की framework संस्करणों को स्थापित करें। एक रूपरेखा स्थापना के लाभ यह है कि यह विभिन्न ओएस एक्स API कॉल एक विंडो प्रबंधक कनेक्शन (आम तौर पर जीयूआई से संबंधित इंटरफेस) की आवश्यकता होती है क्योंकि अजगर दुभाषिया ढांचे के भीतर एक एप्लिकेशन बंडल के रूप में पैक किया जाता है के साथ ठीक से काम करेगा।

यदि आपको matplotlib में फ़ंक्शंस की आवश्यकता है जिसके लिए जीयूआई फ़ंक्शंस की आवश्यकता है, तो सबसे आसान तरीका मैकपॉर्ट्स पर स्विच करना हो सकता है जो पैकेज मैटलप्लिब (port py27-matplotlib) और इसकी निर्भरताओं को भी पैकेज करता है। यदि हां, तो सावधान Fink और MacPorts के बीच पैकेज को मिलाने के लिए नहीं हो सकता है। जब तक कि आप वास्तव में सावधान नहीं हैं, तब तक एक या दूसरे के साथ रहना सबसे अच्छा है। तदनुसार अपने खोल पथ समायोजित करें; यह सभी Fink संकुल को हटाने और MacPorts संस्करण स्थापित करने के लिए सबसे सुरक्षित होगा।

+1

क्या आप तो (, python2.7, numpy-py27, matplotlib-py27 IPython-py27) कोई है जो अपनी नई मैक सब कुछ स्थापित फिंक उपयोग करने के लिए सिफारिश करेंगे? मुझे कुछ पैकेजों की भी आवश्यकता है जिन्हें मैं केवल फिंक पर प्राप्त कर सकता हूं और वे मैकपॉर्ट्स पर मौजूद नहीं हैं। – Rok

+0

शायद मैटलप्लिब या नुकीली मेलिंग सूचियों में से किसी एक से पूछना सबसे अच्छा होगा: http://sourceforge.net/mail/?group_id=80706 या http://www.scipy.org/Mailing_Lists –

+1

यदि आप उपयोग कर रहे हैं 'पायनव' आप पाइथन के 'फ्रेमवर्क' इंस्टॉलेशन भी कर सकते हैं, जैसे: 'env PYTHON_CONFIGURE_OPTS = "- enable-framework" pyenv इंस्टॉल 2.7.12' – Leif

9

यह मेरे लिए दिखाई देता है जब OSX 10.10 (Yosemite) का उपयोग करने जा। मैंने इसे WXAgg बैकएंड पर स्विच करके तय किया।

fink install wxpython300-py27 
mkdir ~/.matplotlib 
echo "backend : WXAgg" >>~/.matplotlib/matplotlibrc 

http://matplotlib.org/1.3.0/faq/usage_faq.html#what-is-a-backend

matplotlibrc फ़ाइल वहाँ नहीं पाया जाता है, matplotlibrc डाल दिया और साथ स्थान की जाँच करें:

import matplotlib as mpl 
mpl.get_configdir() 
17

वैकल्पिक रूप से आप Agg बैकएंड जो कुछ भी कोई अतिरिक्त स्थापना की आवश्यकता है इस्तेमाल कर सकते हैं । बस backend : Agg~/.matplotlib/matplotlibrc

+2

यह जवाब' pyenv' का उपयोग करते समय मेरे लिए अच्छा काम करता है। – Charlie

33

कुछ उपयोगकर्ता अपनी सभी स्क्रिप्ट के लिए बैकएंड को बदलना नहीं चाहते हैं।

import matplotlib 
matplotlib.use('TkAgg') 

आप matplotlib की किसी सबपैकेज या किसी तीसरे पक्ष के पैकेज कि matplotlib पर निर्भर करता है आयात करने से पहले यह करने के लिए है: यह पृष्ठ - - http://matplotlib.org/faq/usage_faq.html#what-is-a-backend एक और तरीका बताता है।

6

मैं इस समस्या को अपने कंप्यूटर पर अजगर की एनाकोंडा वितरण और अजगर 3.4 के साथ एक आभासी conda वातावरण का उपयोग कर मारा।

"पिप matplotlib स्थापित" कर रही है, मैं अपने कोड ठीक में matplotlit आयात कर सकता है, लेकिन जब मैं छवियों साजिश करने की कोशिश की यह एक त्रुटि देना होगा करने के बाद।

तो मैं टर्मिनल पर वापस गया और एनाकोंडा पायथन ("कोंडा इंस्टॉल मैटलप्लिब") के लिए अनुशंसित कोंडा कमांड का उपयोग किया, और इस मुद्दे को स्वयं हल किया गया (ध्यान रखें कि यह सब एक ऐसे वातावरण के भीतर था जिसे मैंने कोंडा का उपयोग करके बनाया था http://conda.pydata.org/docs/using/envs.html पर कमांड टूल)। मेरा सिस्टम मैक ओएसएक्स 10.10.5 चल रहा है।

+0

हालांकि यह मेरे लिए काम करता है। मैंने देखा है कि, एक ही समय में 'कोंडा' और 'पीआईपी' का उपयोग करके एक ही पैकेज को स्थापित करने से 'कोंडा सूची' में बहुत सारे डुप्लीकेटिंग पैकेज बन जाएंगे। – taper

0

Working with Matplotlib on OSX. पर आधिकारिक अक्सर पूछे जाने वाले प्रश्न देखें इसकी स्थिति के आधार पर इसमें कई समाधान हैं। एक है कि मेरे लिए काम किया है:

  • चरण 1: ओपन टर्मिनल
  • चरण 2: निष्पादित conda install python.app python.app
  • चरण 3 स्थापित करने के लिए: pythonw उदा साथ चलाने के लिए अजगर स्क्रिप्ट pythonw my_script.py
0

आप एक ही समस्या का सामना करना पड़ रहे हैं, तो भी अपने आभासी वातावरण के साथ एक समस्या ~/.matplotlib/matplotlibrc उनके पराक्रम में "backend: TkAgg" जोड़ने के बाद।

तो यदि आप python3 पर हैं वर्चुअलएन्व के बजाय venv का उपयोग करें।

वर्चुअल वातावरण बनाने के लिए python3 python -m venv my-virtualenv के साथ venv का उपयोग करने के लिए वर्चुअल वातावरण बनाने के लिए source my-virtualenv/bin/activate का उपयोग करें।

बाकी virtualenv के समान है। अन्यथा यदि आप वर्चुअलएन्व को अपने वर्चुअल वातावरण के रूप में उपयोग करना चाहते हैं तो PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install x.x.x का उपयोग करें।