2012-05-06 14 views
9

तरह पायथन पुस्तकालयों स्थापित करने के लिए करते हैं यहाँ मैं अब तक क्या किया है है : brew install py2cairoमैं कैसे Homebrew का उपयोग Py2Cairo

इनमें से दोनों सही ढंग से स्थापित होने लगते हैं, और जब मैं which python टाइप करता हूं तो मुझे मिलता है: usr/local/bin/python जो मुझे विश्वास है होमब्री का संस्करण है।

मैं संपादित किया है कई Homebrew गाइड के रूप में मेरे पथ की सलाह दी:

export PATH=/usr/local/bin:/usr/local/share/python:$PATH 

यहाँ मैं क्या echo $PATH से प्राप्त होते हैं: /usr/local/bin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

मैं भी python --version टाइप करें और python 2.7.3 प्राप्त कर सकते हैं जो सही है क्योंकि अगर लगता है मैं /usr/local/Cellar/py2cairo/1.10.0/README में देखें यह कहता है:

Dependencies 
------------ 
    cairo >= 1.10.0 
    Python >= 2.6 

हालांकि इन सब के बाद मैं मैं पाइथन में py2cairo लाइब्रेरी आयात करने में अभी भी असमर्थ हूं। यहाँ जब मैं कोशिश है कि मैं क्या मिलेगा:

Sal:~ Lockyer$ python 
Python 2.7.3 (default, May 6 2012, 13:47:31) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cairo 
Fatal Python error: Interpreter not initialized (version mismatch?) 
Abort trap: 6 

मुझे लगता है कि ज्यादातर लोगों को बात की इस तरह के pip या easy_install उपयोग करते हैं, लेकिन मुझे नहीं लगता py2cairo उन के द्वारा समर्थित है है। यहाँ जब मैं pip-2.7 install py2cairo चलाने मैं क्या मिलेगा:

Downloading/unpacking py2cairo 
    Could not find any downloads that satisfy the requirement py2cairo 
No distributions at all found for py2cairo 
Storing complete log in /Users/Lockyer/Library/Logs/pip.log 

मुझे लगता है कि मैं सिर्फ एक अंतिम कदम है, जहां मैं किसी भी तरह अजगर जहां पुस्तकालय आयात करने के लिए करने के लिए प्रकट लापता जाना चाहिए से ... मैं अपने पथ में कुछ जोड़ने की भूल कर रहा हूँ ?

यहाँ जब मैं ls -l /usr/local/bin/python

lrwxr-xr-x 1 Lockyer admin 33 6 May 13:48 /usr/local/bin/python -> ../Cellar/python/2.7.3/bin/python 

चलाने मैं क्या मिलता है यहाँ जब मैं otool -L /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so चलाने मैं क्या मिलेगा:

/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so: 
    /private/tmp/homebrew-py2cairo-1.10.0-BtmY/py2cairo-1.10.0/build_directory/src/_cairo.so (compatibility version 0.0.0, current version 0.0.0) 
    /usr/local/Cellar/cairo/1.10.2/lib/libcairo.2.dylib (compatibility version 11003.0.0, current version 11003.2.0) 
    /System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.1) 
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0) 

मेरे डेस्कटॉप के लिए /System/Library/Frameworks/Python.framework/Versions आगे बढ़ते, और brew install py2cairo चल फिर से तय हो गई है लगता है त्रुटि। यह जानना अच्छा होगा कि यह शेर के अजगर के खिलाफ क्यों निर्माण कर रहा था, हालांकि यह पथ पर पहली बार प्रतीत नहीं होता है ...

+0

यदि आपके पास पिछले पायथन स्थापित है, तो यह अभी भी एक हो सकता है। Ls -l/usr/local/bin/python – jdi

+0

के पोस्ट परिणाम मैंने अपने परिणामों के साथ प्रश्न संपादित किया है, ऐसा लगता है कि आप मुझसे क्या उम्मीद कर सकते हैं? लेकिन मैं कुछ याद कर सकता था ... – Lockyer

+0

हाँ जो सही दिखता है। मुझे लगता है कि @ डौगल शायद आपकी समस्या पर है, यह बताते हुए कि कैरो स्वयं ठीक से नहीं बनाया हो सकता है। आप अंतर्निहित सी एक्सटेंशन – jdi

उत्तर

6

के सामने बस /usr/local/lib/python2.7/site-packages है, इस त्रुटि पर मैंने ठोकर खाई। कुछ googling के माध्यम से, मुझे पता चला कि project on GitHub के लिए समस्या पृष्ठ पर पहले ही पता चला है।

यह एक समस्या है कि waf लाइब्रेरी आयात को संभालता है, जिसे मैं पूरी तरह समझ नहीं पाया। एक फिक्स पहले ही सबमिट कर दिया गया है और स्वीकृति लंबित है।

अगर कोई फिक्स स्वीकार करने से पहले इस समस्या में अभी भी चलता है, तो this answer पर प्रस्तावित आदेशों के बाद py2cairo के लिए निश्चित सूत्र स्थापित करना संभव है।

brew rm -f py2cairo 
brew install https://raw.githubusercontent.com/2bits/homebrew/15b3e67/Library/Formula/py2cairo.rb 

जब फिक्स स्वीकृत हो जाता है, तो एक सरल brew update समस्या को ठीक करना चाहिए।

+2

एफवाईआई, यह नवीनतम होमब्री में तय है। 'ब्रू अपडेट' और 'ब्रू आरएम-एफ py2cairo && brew इंस्टॉल py2cairo' मेरे लिए काम किया। धन्यवाद इस मुद्दे की जांच करने वाले सभी लोग। तुमने मुझे परेशानी के घंटे बचाया। –

+3

a4e87cd चला गया है, https://github.com/2bits/homebrew/raw/15b3e67/Library/Formula/py2cairo.rb –

+0

404 इंस्टॉल करें। ^^^ https://github.com/2bits/homebrew/ का उपयोग करें कच्चा/15b3e67/लाइब्रेरी/फॉर्मूला/py2cairo.rb – circuitry

3

ऐसा लगता है जैसे पाइकेरियो की waf इंस्टॉलर फ़ाइल को स्थापित करते समय गलत पायथन मिल रहा है। क्या आप

otool -L /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so 

यह निर्धारित करने के लिए कि कौन सा पायथन सी एक्सटेंशन के साथ जुड़ा हुआ है? माइन में

/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.1) 

(लेकिन मैं सिस्टम पाइथन का उपयोग करता हूं, होमब्रू पायथन नहीं)।

+0

क्षमा करें मैंने पहले कोशिश की थी, और यह असफल रहा था। जब मैं इस प्रश्न के लिए लिख रहा था तो मैंने बस इसे गड़बड़ कर दिया। बस इसे फिर से कोशिश की, और परिणामों के साथ मेरे सवाल संपादित किया। – Lockyer

+0

आह, अलग समस्या। '_cairo.so' नाम की फ़ाइल के लिए'/usr/local/cellar/python/2.7.3/lib/python2.7/साइट-पैकेज/कैरो/'और'/usr/local/cellar/py2cairo' में देखने का प्रयास करें। , जो सी एक्सटेंशन है जो py2cairo उपयोग करता है। यह खोजने में पथ समस्या हो सकती है, या शायद यह ठीक से नहीं बनाया गया हो सकता है। – Dougal

+0

यहां '_cairo.so' है:'/usr/local/cellar/py2cairo/1.10.0/lib/python2.6/साइट-पैकेज/कैरो ', लेकिन इसके अलावा कुछ भी नहीं है: '__init __। Pyc':'/usr/स्थानीय/सेलर/पायथन/2.7.3/lib/python2.7/साइट-पैकेज/कैरो ' – Lockyer

4

आपकी अन्य टिप्पणियों के अनुसार, आपने अपने लाइब्रेरी पथ के मुद्दों को हल करने में कामयाब रहे हैं, लेकिन आपको "घातक पायथन त्रुटि: इंटरप्रेटर प्रारंभ नहीं हुआ है (संस्करण मेल नहीं है?)"।इसे हल करने का तरीका यहां दिया गया है।

  1. सुनिश्चित करें कि आप xcode 4.3
  2. है सुनिश्चित करें कि आप xcode कमांड लाइन उपकरण स्थापित
  3. brew tap homebrew/dupes && brew install homebrew/dupes/apple-gcc42
  4. sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2
  5. पुष्टि brew --config साथ यह सब (रिपोर्ट करना चाहिए जीसीसी-4.2 स्थित है) बनाएं
  6. brew uninstall cairo py2cairo
  7. brew install py2cairo --use-gcc

मेरे पास यह वही समस्या थी, जब तक कि मैंने इसे जीसीसी के साथ नहीं बनाया, जिसे जाहिर तौर पर xcode 4.3 में शामिल नहीं किया गया है।

इसके अलावा, मैं होमब्रू पायथन इंस्टॉल (यदि आपने ऐसा किया है) का उपयोग नहीं कर रहा हूं। मैं मानक सेब पायथन स्थापना का उपयोग कर रहा हूं, और मेरे PYTHONPATH

+0

हम्म, हाँ '/ usr/local/lib/python2.7/साइट-पैकेज' को मेरे 'पथ' में जोड़कर और डिफ़ॉल्ट पायथन इंस्टॉल का उपयोग करके शायद बेहतर काम किया होगा। यह शायद कम स्केची है, फिर भी लाइब्रेरी फाइलों को चारों तरफ ले जा रहा है ... हालांकि मुझे होमब्री के माध्यम से जीसीसी स्थापित करने की ज़रूरत नहीं है। – Lockyer

+0

@ लॉकर: मुझे हर संयोजन में दुर्घटना हो रही थी, जब तक कि मैंने आखिरकार जीसीसी को सही जगह पर स्थापित नहीं किया और होमब्री ने इसे स्वीकार किया, और मैंने '--use-gcc' ध्वज – jdi

+0

@ रोड्रिगो का उपयोग किया: यह पूरी तरह से पूर्ण नहीं है त्रुटि। यह सिर्फ वह आदेश है जो असफल रहा। आपके पास जीसीसी स्थापित है, है ना? – jdi

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