कर्ल की स्थापना
मैंने इस चर्चा से हर सुझाव की कोशिश की लेकिन किसी ने मेरे लिए काम नहीं किया। समाधान के रूप में मैंने कर्ल और कर्लिब को फिर से स्थापित किया है। उसके बाद मैं पर्यावरण के अंदर ssl समर्थन के साथ pycurl स्थापित करने में सक्षम था।
प्रारंभ में:
'PycURL / 7.43.0 libcurl / 7.47.0 GnuTLS / 3.4.10 zlib / 1.2.8 libidn / 1.32 librtmp / 2.3'
भाग 1. पाइप के साथ अंतर / स्थापना
सबसे पहले मैंने पाइप लाइन का उपयोग करके virtualenv से pycurl को हटा दिया है जैसा कि पिछले उत्तर सुझाया गया था:
pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
pip install pycurl --global-option="--with-openssl"
यहाँ विचार यह है कि पैकेज कैश किया गया था और हम इसे ओपनसेल विकल्प के साथ रीइनस्टॉल करते हैं।
मैंने भी पाइप का उपयोग करके pycurl को फिर से जोड़ने की कोशिश की:
pip install pycurl --compile pycurl --no-cache
.. लेकिन चलाने के बाद भी यही त्रुटि थी:
python
import pycurl
pycurl.version
ImportError: pycurl: libcurl लिंक समय ssl बैकएंड ( GNUTLS ) संकलन समय ssl बैकएंड (से अलग है openssl )
भाग 2. टार से स्थापना
पिछले पद्धति के बाद काम नहीं किया था, मैंने टार से pycurl स्थापित करने का निर्णय लिया है:
curl -O https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz
sudo tar -xzvf pycurl-7.43.0.tar.gz
cd pycurl-7.43.0/
sudo python setup.py --with-ssl install
इसने विश्व स्तर पर पीकुरल स्थापित किया है लेकिन वर्चुअनव्यू के भीतर नहीं। मैंने यह भी जाँच नहीं किया कि यह एसएसएल समर्थन के साथ स्थापित किया गया था या नहीं, लेकिन लगता है कि अभी भी एसएसएल के बिना।
भाग 3. कर्ल और कर्लिब की स्थापना
अंत में मैं समझ गया कि pycurl सामान्य रूप से पर्यावरण में स्थापित नहीं होता है क्योंकि वैश्विक कर्ल और libcurl को गिटरल्स के साथ संकलित किया जाता है।
इसके साथ जांच शुरू करने से पहले:
curl-config --configure
आउटपुट लाइनों में से एक होगा
'
इसे पुनः स्थापित करने के लिए:
सबसे पहले कर्ल निकालें:
sudo apt-get purge curl
कर्ल के लिए आवश्यक किसी भी निर्माण निर्भरता को स्थापित करें
sudo apt-get build-dep curl
नवीनतम प्राप्त करें (20 दिसंबर, 2016 तक) libcurl
mkdir ~/curl
wget http://curl.haxx.se/download/curl-7.51.0.tar.bz2
tar -xvjf curl-7.51.0.tar.bz2
cd curl-7.51.0
स्रोत से एप्लिकेशन बनाने के लिए सामान्य चरण
./configure
./make
sudo make install
यदि खुलता है तो सही तरीके से स्थापित किया गया है, तो यह स्वतः ही मिल जाएगा। उत्पादन होगा:
कर्ल संस्करण: 7.51.0
होस्ट सेटअप: x86_64-pc-linux-gnu
प्रीफ़िक्स इंस्टॉल करें: / usr / स्थानीय
कंपाइलर: gcc
SSL समर्थन: सक्षम (OpenSSL) ...
C- स्तरीय आवश्यक स्थान कैश के किसी भी मुद्दे को हल करें ("साझा लाइब्रेरी कैश")
sudo ldconfig
अब पर्यावरण के भीतर pycurl को पुनर्स्थापित करने का प्रयास करें:
curl -O https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz
pip install pycurl-7.43.0.tar.gz --global-option="--with-openssl"
परिणाम होना चाहिए:
python
import pycurl
pycurl.version
'PycURL / 7.43.0 libcurl / 7.51.0 OpenSSL / 1.0.2g zlib / 1.2.8 librtmp / 2.3'