2015-11-01 15 views
10

मै मैक के लिए नया हूं और मुझे समझ में नहीं आता कि मेरा स्केपर अब और क्यों काम नहीं कर रहा है। मुझे संदेह है कि openssl मेरे एल कैपिटन में मान्य नहीं है।प्रतीक नहीं मिला: _BIO_new_CMS

मैंने कोशिश की:

pip install cryptography 
pip install pyOpenSSL 
brew install openssl 

और मैं अभी भी त्रुटि नीचे मिलता है। क्या कोई तरीका है जिससे मैं इसे ठीक कर सकता हूं?

$ python 
Python 2.7.10 (v2.7.10:15c95b7d81dc, May 23 2015, 09:33:12) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import OpenSSL 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/OpenSSL/__init__.py", line 8, in <module> 
    from OpenSSL import rand, crypto, SSL 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/OpenSSL/rand.py", line 11, in <module> 
    from OpenSSL._util import (
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/OpenSSL/_util.py", line 3, in <module> 
    from cryptography.hazmat.bindings.openssl.binding import Binding 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 13, in <module> 
    from cryptography.hazmat.bindings._openssl import ffi, lib 
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so, 2): Symbol not found: _BIO_new_CMS 
    Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so 
    Expected in: flat namespace 
in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so 
>>> 
+0

अधिक यहाँ जानकारी के लिए देखें: https://github.com/pyca/cryptography/issues/2138 – eLRuLL

+0

क्या पीपी का संस्करण आप उपयोग कर रहे हैं? इसके अलावा, 'otool -L/लाइब्रेरी/फ्रेमवर्क/पायथन। फ्रेमवर्क/संस्करण/2.7/lib/python2.7/साइट-पैकेज/क्रिप्टोग्राफी/हाज़मत/बाइंडिंग/_openssl.so' का आउटपुट क्या है। ऐसा लगता है कि आप अपने वैश्विक पायथन पैकेज में क्रिप्टोग्राफी स्थापित कर रहे हैं, जो आम तौर पर एक मूर्ख विकल्प है, लेकिन इस मुद्दे से संबंधित होने की संभावना नहीं है। संपादित करें: चूंकि यह/लाइब्रेरी है, यह संभवतः python.org पायथन है। क्रिप्टोग्राफी को अनइंस्टॉल करने का प्रयास करें और फिर 'env LDFLAGS = "- L $ (brew --prefix openssl)/lib" CFLAGS = "- I $ (brew --prefix openssl) चलाएं//" पाइप इंस्टॉल क्रिप्टोग्राफी' –

+0

@PaulKehrer धन्यवाद, सेब आपूर्ति पाइथन और python.org पायथन बस मिश्रित हो गया। Lib पथ को सीधा करने के बाद अंत में काम किया। – suwopa

उत्तर

19

मैं निम्न आदेश द्वारा इस समस्या का समाधान:

LDFLAGS="-L/usr/local/opt/openssl/lib" pip install cryptography --no-use-wheel 

if homebrew openssl is linked, cryptography builds an unusable wheel

+1

पीपी कमांड से पहले इस एलडीएफएलजीएस बिट को जोड़ने से मुझे ओएसएक्स – saturdayplace

+0

एचएचएच पर भी स्केपर स्थापित करने में मदद मिली है, मुझे भी @ शनिवारस्थल –

+4

यह ध्यान देने योग्य है कि यह आदेश पहले स्थापित संस्करण से छुटकारा पाने के लिए 'पीआईपी अनइंस्टॉल क्रिप्टोग्राफी' के बाद चलाया जाना चाहिए। –

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