2012-07-15 10 views
28

में pycairo इंस्टॉल करें मैंने Django प्रोजेक्ट में उपयोग करने के लिए वर्चुअलनव में pycairo स्थापित करने का प्रयास किया है। मैंने pip install pycairo==1.10.0 कमांड चलाया है जो पैकेज पाता है और pip install pycairo इत्यादि जैसे अन्य कमांडों के विपरीत डाउनलोड करता है, लेकिन जब पैकेज स्थापित करना शुरू होता है तो यह एक त्रुटि फेंकता है।वर्चुअलनव

Downloading/unpacking pycairo==1.10.0 
    Running setup.py egg_info for package pycairo 
    Traceback (most recent call last): 
     File "<string>", line 14, in <module> 
    IOError: [Errno 2] No such file or directory: 
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py' 
Complete output from command python setup.py egg_info: 
Traceback (most recent call last): 

File "<string>", line 14, in <module> 

IOError: [Errno 2] No such file or directory: 
'/home/radu/Desktop/djangos/workout/venv/build/pycairo/setup.py' 

---------------------------------------- 
Command python setup.py egg_info failed with error code 1 in 
/home/radu/Desktop/djangos/workout/venv/build/pycairo 
Storing complete log in /home/radu/.pip/pip.log 

तुम मुझे क्या करना है के बारे में कोई संकेत दे सका:

यहाँ लॉग है? क्या मुझे पैकेज के लिए setup.py फ़ाइल को आजमाकर लिखना चाहिए और फिर इसे इंस्टॉल करने का प्रयास करना चाहिए? (मुझे यकीन नहीं है कि यह एक समाधान भी है, मैं अभी भी यह पता लगाने की कोशिश कर रहा हूं कि मैं क्या कर सकता हूं)।

अग्रिम धन्यवाद!

+1

संबंधित बग: https://bugs.freedesktop.org/show_bug.cgi?id=58772 – guettli

उत्तर

61

अच्छी खबर है, हर कोई!

मैं हाल ही में रिलीज़ cairocffi: http://packages.python.org/cairocffi/

यह pycairo कि एक virtualenv में पिप के साथ स्थापित करता है के लिए एक स्थानापन्न है, अजगर 2 और 3, साथ ही PyPy पर चलता है।

pip install cairocffi 

अपने कोड में:

import cairocffi as cairo 
# Enjoy the same API as Pycairo. 

प्रतिक्रिया का स्वागत करते हैं। (हालांकि issue tracker यहाँ से एक बेहतर चैनल हो सकता है।)

+1

यह सबसे उत्कृष्ट है, और यह भी पाइकेरो से बेहतर दस्तावेज प्रतीत होता है। –

+0

यह ठीक स्थापित है लेकिन मेरे लिए पूरी तरह गलत है। क्षमा करें, समस्या को अलग करने और बग रिपोर्ट दर्ज करने का समय नहीं है, लेकिन इसे दूसरों के लिए यहां छोड़ना चाहता था। –

+1

@ वेबजोर्न लोजोसा, नमूना कोड और अपेक्षित/वास्तविक परिणाम के साथ एक बग रिपोर्ट की बहुत सराहना की जाएगी, भले ही आप समस्या को अलग न करें। अभी मुझे नहीं पता कि कैसे मदद करें:/ –

11

pycairo वर्तमान में पाइप/distutils के माध्यम से स्थापना का समर्थन नहीं करता है। परियोजना का install docs या तो वाफ या ऑटोोटूल का उपयोग करने के लिए निर्देश देता है।

एक virtualenv में pycairo का उपयोग करने के लिए, आपको:

  • स्थापित pycairo सिस्टम-वाइड, खासकर अपनी वितरण के संकुल के माध्यम से
  • फिर, या तो:
    1. एक virtualenv --system-site-packages साथ बनाएं इस तथ्य के बाद lib/pythonX.Y/no-global-site-packages.txt फ़ाइल को हटाएं या हटाएं।
    2. या cairo पैकेज (_cairo.so युक्त निर्देशिका) के लिए एक प्रतीकात्मक लिंक जोड़ें। कुछ इस तरह:
       
      ln -s /usr/lib/python2.7/site-packages/cairo ./venv/lib/python2.7/site-packages 
      
पाठ्यक्रम 1. के

नकारात्मक पक्ष यह है कि आप अन्य संकुल पूरे सिस्टम पर स्थापित से virtualenv के अलगाव से लाभ नहीं होगा।

+1

[pycairo का गिट संस्करण] (http://cgit.freedesktop.org/pycairo/log/setup.py) (पायथन 3 के लिए) हाल ही में एक setup.py मिला और पूरी तरह से पीआईपी के साथ स्थापित करता है। उम्मीद है कि अगला संस्करण यह सब हल करेगा (और पायथन 2 के लिए py2cairo में भी।) –

+0

विकल्प 2) मेरे लिए बहुत अच्छा काम करता है। धन्यवाद! – Ztyx

24

हालांकि py2cairo पाइप का उपयोग करके अच्छी तरह से स्थापित नहीं करता है, फिर भी आप वितरण से इंस्टाल फ़ाइल में निर्माण निर्देशों का उपयोग करके वर्चुअल वातावरण में py2cairo स्थापित कर सकते हैं।

पैकेज बनाने के लिए आपको स्थापित करने के लिए आपको कैरो-डेव/कैरो-डेवेल पैकेज की आवश्यकता होगी।

क्या अपने आभासी वातावरण में स्थापित करने के लिए निम्नलिखित: मानक निर्माण प्रक्रिया py2cairo निर्देशिका

  • सक्रिय करें अपने आभासी पर्यावरण
  • में

    1. डाउनलोड, खोल, और सीडी का पालन करें

      ./waf configure --prefix=$VIRTUAL_ENV

      ./waf build

      ./waf install

  • +1

    यह मेरे लिए काम करता है, सिवाय इसके कि मुझे पहले निम्नलिखित करना था: "PYTHON = $ VIRTUAL_ENV/bin/python निर्यात करें"। किसी भी कारण से, वर्चुअलएन्व में प्रवेश करने से वैश्विक $ PYTHON चर सेट नहीं होता है। –

    +0

    भयानक उत्तर, कभी-कभी चट्टानें .. –

    +0

    यह त्रुटि प्राप्त करना: 'कैरो' के लिए जांचना> = 1.10.2: नहीं मिला। कॉन्फ़िगरेशन विफल 'स्थापित कैरो: 1.12.16_1 ब्रू के माध्यम से। – Ben

    -1

    आप Homebrew उपयोग कर रहे हैं आप pycario (अजगर 3+) और py2cario (अजगर 2.6-2.7) व्यंजनों स्थापित कर सकते हैं:

    brew install pycario

    +0

    सवाल पूछा गया था कि वर्चुअलनेव में पिकारियो कैसे स्थापित करें और उत्तर इसका समाधान नहीं करता है। –

    3

    Homebrew और virtualenv --no-site-packages साथ संयोजन के रूप में (अजगर 2.7 के लिए) pycairo का उपयोग करने की कोशिश कर किसी को भी के लिए ... यह मेरे लिए काम किया:

    1. brew install py2cairo

    2. फिर, हो जाएगा जहां Homebrew यह करने के लिए स्थापित पथ मिल जाए, कुछ की तरह:

      ls -l /usr/local/lib/python2.7/site-packages/cairo/ 
      total 24 
      lrwxr-xr-x 1 anentropic admin 80 10 Jun 14:26 __init__.py -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/__init__.py 
      lrwxr-xr-x 1 anentropic admin 78 10 Jun 14:26 _cairo.so -> ../../../../Cellar/py2cairo/1.10.0/lib/python2.7/site-packages/cairo/_cairo.so 
      
    3. आप उन सिमलिंक के आधार पर पथ खोजना चाहते हैं, कुछ की तरह:
      /usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages

    4. फिर अपने virtualenv साइट संकुल में एक .pth फ़ाइल बनाने:
      echo "/usr/local/Cellar/py2cairo/1.10.0/lib/python2.7/site-packages" > venv/lib/python2.7/site-packages/cairo.pth

    virtualenv में cairocffi स्थापना काम नहीं करता है और python-dev libffi-dev उपलब्ध नहीं हैं (ArchLinux)

    +1

    ओएस एक्स मैवरिक्स पर परीक्षण किया गया। एक आकर्षण काम करता है। ग्रेफाइट को भी हल करता है "आयात त्रुटि: काहिरा नहीं मिला" मुद्दा। ओएस एक्स 10.8 पर – Ben

    +0

    , स्थापित करने और कैरो आयात करने की कोशिश करने के बाद, यह मुझे घातक पायथन त्रुटि देता है: PyThreadState_Get: कोई वर्तमान धागा जाल बंद करें: 6 – Burnash

    1

    पर्यावरण चर की स्थापना PKG_CONFIG_PATH=/usr/lib/libffi-3.2.1/include काम करता है (निष्क्रिय करने के लिए और अच्छे भाग्य के लिए अपने virtualenv, यकीन नहीं फिर से सक्रिय कर सकते हैं)।

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