2016-02-07 4 views
10

मैंने अभी अपने सिस्टम पर निम्नलिखित संकुल को स्थापित/अपग्रेड किया है (मैक ओएसएक्स 10.7.5, पायथन 2.7.11 का उपयोग करके)।कोंडा और पीआईपी क्यों काम करना बंद कर दिया? 'CompiledFFI' ऑब्जेक्ट में कोई विशेषता नहीं है 'def_extern'

'CompiledFFI' object has no attribute 'def_extern' 

क्या हो रहा है और मैं इसे इस तरह ठीक है:

package    |   build 
---------------------------|----------------- 
enum34-1.1.2    |   py27_0   55 KB 
idna-2.0     |   py27_0   123 KB 
ipaddress-1.0.14   |   py27_0   27 KB 
pyasn1-0.1.9    |   py27_0   54 KB 
pycparser-2.14    |   py27_0   147 KB 
cffi-1.2.1     |   py27_0   167 KB 
cryptography-1.0.2   |   py27_0   370 KB 
pyopenssl-0.14    |   py27_0   122 KB 
ndg-httpsclient-0.3.3  |   py27_0   30 KB 
------------------------------------------------------------ 
             Total:   1.1 MB 

बाद में, मैं निम्नलिखित त्रुटि जब पिप या एनाकोंडा कॉल करने के लिए कोशिश कर रहा है?

यहाँ पूर्ण त्रुटि संदेश है:

$ conda 
Traceback (most recent call last): 
    File "/Users/User/miniconda/bin/conda", line 5, in <module> 
    sys.exit(main()) 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/cli/main.py", line 118, in main 
    from conda.cli import main_search 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/cli/main_search.py", line 12, in <module> 
    from conda.misc import make_icon_url 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/misc.py", line 19, in <module> 
    from conda.api import get_index 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/api.py", line 10, in <module> 
    from conda.fetch import fetch_index 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/fetch.py", line 24, in <module> 
    from conda.connection import CondaSession, unparse_url, RETRIES 
    File "/Users/User/miniconda/lib/python2.7/site-packages/conda/connection.py", line 24, in <module> 
    import requests 
    File "/Users/User/miniconda/lib/python2.7/site-packages/requests/__init__.py", line 53, in <module> 
    from .packages.urllib3.contrib import pyopenssl 
    File "/Users/User/miniconda/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 54, in <module> 
    import OpenSSL.SSL 
    File "/Users/User/miniconda/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module> 
    from OpenSSL import rand, crypto, SSL 
    File "/Users/User/miniconda/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in <module> 
    from OpenSSL._util import (
    File "/Users/User/miniconda/lib/python2.7/site-packages/OpenSSL/_util.py", line 6, in <module> 
    from cryptography.hazmat.bindings.openssl.binding import Binding 
    File "/Users/User/miniconda/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 68, in <module> 
    error=-1) 
    File "/Users/User/miniconda/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 57, in wrapper 
    ffi.def_extern(name=name, **kwargs)(func) 
AttributeError: 'CompiledFFI' object has no attribute 'def_extern' 
+3

क्रिप्टोग्राफी फ़ोल्डर को हटाने के लिए लग रहा था इस समस्या को ठीक करें लेकिन मुझे यकीन नहीं है कि क्यों। – spacetyper

+0

मैं अपने मिनीकॉन्डा फ़ोल्डर को हटाकर और फिर फिर से लोड करके सभी समस्याओं को ठीक करने में कामयाब रहा। यह हालांकि गलत क्या हुआ सवाल के जवाब का जवाब नहीं देता है। – spacetyper

उत्तर

14

मैं भी इस त्रुटि की थी, लेकिन मैं बहुत तरह cffi अपग्रेड करके इसका समाधान नहीं किया है:

pip install --upgrade cffi 
+7

यदि ओपी कह रहा है कि यह टूटा हुआ है, तो एक पीआईपी का उपयोग कैसे करें। –

12

उन्नयन cffi मेरे लिए यह समाधान नहीं ; मैंने किया:

sudo apt-get purge --auto-remove python-cryptography 

और फिर क्रिप्टोग्राफी को पुनर्स्थापित किया गया।

+0

काम करता है यही कारण है, लेकिन पर्ज साथ इसलिए उन्हें निकाल संकुल (कम से कम मेरे लिए) कर रहे हैं: अजगर-क्रिप्टोग्राफी अजगर-ndg-httpsclient अजगर-openssl मुझे लगता है कि वे भी पुनर्स्थापित किए जाने की जरूरत है। – MouTio

10

मैं इस समाधान

easy_install -U cffi 

https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1512792/comments/11

+0

यह मेरे लिए काम किया है। मेरे पास होमब्रू का मिश्रण था- और ओएस एक्स-होमेड पायथन पैकेज इंस्टॉलेशन और 'पीआईपी' क्रैश हो रहा था। – duma

+0

एक उबंटू सिस्टम अपग्रेड के बाद मुझे पता चला कि पीपी भी एक ही त्रुटि के साथ तोड़ रहा था। Easy_install के साथ अपग्रेड करना सभी त्रुटियों को हल करना प्रतीत होता है। धन्यवाद। – user650881

3

मैं इस देर से प्रश्न का उत्तर देते साथ समस्या का समाधान, जैसा कि ऊपर जवाब में से सब मेरे काम नहीं किया।

कारण: संभावित कारण था cffi पैकेज संस्करण अर्थात 1.2.1 (मेरे मामले 1.3.0 में)।

समाधान: cffi पैकेज अपग्रेड करें। लेकिन यह उतना आसान नहीं है जितना संभवतः यह आपके pip को तोड़ देगा। (CentOS 7 के लिए)

प्रथम स्थापना रद्द करें पिप:

सटीक पथ प्राप्त करने के लिए:

$ python 

>>> import cffi 
>>> cffi.__path__ 
['/usr/lib64/python2.7/site-packages/cffi'] 

अब करने के लिए जाना

yum remove -y python-pip 

एक बार निकाल अब cffi पैकेज मैन्युअल निर्देशिका: सीडी /usr/lib64/python2.7/site-packages - यह जांचने के लिए कि कौन सी सीएफआई फाइलें और फ़ोल्डर्स हैं:

ls | grep cffi 
cffi 
cffi-1.3.0-py2.7.egg-info 
_cffi_backend.so 

cffi प्रासंगिक फ़ाइलों और फ़ोल्डरों निकालें:

rm -rf cffi cffi-1.3.0-py2.7.egg-info/ _cffi_backend.so 

पुनर्स्थापित करना पिप:

yum install -y python-pip 

नवीनतम cffi पैकेज इंस्टॉल:

pip install cffi==1.8.2 
+1

मुख्य बिंदु जिसने मुझे मदद की (उबंटू 14 पर) सीएफआई की पुरानी प्रतियों को हटा रहा था जो मेरे उपकरणों में हस्तक्षेप कर रहे थे। बस सीएफआई के एक नए संस्करण को स्थापित करने के लिए मेरे लिए कुछ भी नहीं किया। – killthrush

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