2016-02-07 6 views
10

Ich habe gerade die folgenden Pakete auf meinem System installiert/aktualisiert (Mac OSX 10.7.5, mit Python 2.7.11).Warum haben Conda und Pip einfach aufgehört zu arbeiten? 'CompiledFFI' Objekt hat kein Attribut '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 

Danach bekomme ich folgende Fehlermeldung beim Versuch pip oder Anakonda zu nennen:

'CompiledFFI' object has no attribute 'def_extern' 

Was ist los und wie kann ich dieses Problem beheben?

Hier ist die vollständige Fehlermeldung:

$ 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

Löschen der Kryptographie Ordner schien behebe dieses Problem, aber ich bin mir nicht sicher warum. – spacetyper

+0

Es ist mir gelungen, alle meine Probleme zu beheben, indem ich meinen Miniconda-Ordner lösche und dann neu lade. Dies beantwortet jedoch nicht die Frage, was falsch gelaufen ist. – spacetyper

Antwort

14

ich auch diesen Fehler hatte, aber ich habe es gelöst durch cffi Upgrade wie folgt:

pip install --upgrade cffi 
+7

Wie kommt man Pip, wenn OP sagt, es ist kaputt. –

12

Upgrade cffi es nicht für mich gelöst haben ; Ich tat:

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

und dann neu installierte Kryptografie.

+0

das, aber mit dem Reinigungsarbeiten, das sind die entfernten Pakete (zumindest für mich): Python-Kryptographie Python-ndg-httpsclient python-openssl Ich nehme an, dass auch sie neu installiert werden benötigt. – MouTio

10

Ich löse das Problem mit dieser Lösung

easy_install -U cffi 

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

+0

Das hat bei mir funktioniert. Ich hatte eine Mischung aus homebrew- und OS X-homed Python-Paket-Installationen und 'pip' stürzte ständig ab. – duma

+0

Nach einem Ubuntu-Systemupgrade fand ich, dass pip auch mit dem gleichen Fehler brach. Ein Upgrade mit easy_install schien alle Fehler zu beheben. Vielen Dank. – user650881

3

ich so spät die Frage bin zu beantworten, wie alle oben genannten Antworten mich nicht arbeiten.

Ursache: Die wahrscheinliche Ursache war Paketversion, d. H. 1.2.1 (in meinem Fall 1.3.0).

Lösung: Upgrade Paket. Aber es ist nicht so einfach, da es höchstwahrscheinlich Ihre pip auch gebrochen hätte.

zuerst deinstallieren pip (für CentOS 7):

yum remove -y python-pip 

Einmal entfernt, löschen Sie jetzt die cffi Paket manuell:

Um den genauen Weg zu bekommen:

$ python 

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

Gehen Sie jetzt zu das Verzeichnis: cd /usr/lib64/python2.7/site-packages - um zu überprüfen, welche cffi-Dateien und -Ordner dort sind:

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

die cffi relevanten Dateien und Ordner entfernen:

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

Re-Installation pip:

yum install -y python-pip 

die neueste cffi Paket installieren:

pip install cffi==1.8.2 
+1

Der Schlüsselpunkt, der mir half (auf ubuntu 14), war das Entfernen von alten Kopien von cffi, die meine Werkzeuge störten. Einfach eine neue Version von cffi zu installieren, hat nichts für mich bewirkt. – killthrush

Verwandte Themen