ওপেনএসএসএল ব্যবহার করার সময় এসএসএল ব্যাকএন্ড ত্রুটি


88

আমি পাইপ ব্যবহার করে ভার্চুয়ালেনভে পাইকারল ইনস্টল করার চেষ্টা করছিলাম এবং আমি এই ত্রুটি পেয়েছি

ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)

আমি কিছু ডকুমেন্টেশন পড়েছি যা বলছে যে " এটি ঠিক করার জন্য, আপনাকে সেটআপ.পিপি বলতে হবে যে এসএসএল ব্যাকএন্ডটি কী ব্যবহৃত হয়" (উত্স) যদিও আমি পাইপ ব্যবহার করে পাইকারল ইনস্টল করার পরে এটি কীভাবে করব তা নিশ্চিত নই।

পাইপের সাথে পাইকারল ইনস্টল করার সময় আমি কীভাবে এসএসএল ব্যাকএন্ড নির্দিষ্ট করতে পারি?

ধন্যবাদ


4
আপনার ওএস কি?
এভেজেনি

উত্তর:


121

তাদের ইনস্টলেশন ফাইলটি পড়ার পরে, আমি পরিবেশের পরিবর্তনশীল সেট করে আমার সমস্যাটি সমাধান করতে সক্ষম হয়েছি এবং পুনরায় ইনস্টল করেছি

  • বিদ্যমান pycurlইনস্টলেশন অপসারণ

    pip uninstall pycurl

  • আপনার লিঙ্ক-টাইম এসএসএল ব্যাকএন্ডের সাথে ভেরিয়েবল রফতানি করুন (যা উপরে ওপেনসেল)

    export PYCURL_SSL_LIBRARY=openssl

  • তারপর, পুনরায় ইনস্টল pycurlসঙ্গে কোন ক্যাশে

    pip install pycurl --no-cache-dir

সেখানে অন্য সমাধানের সমাধান হতে পারে তবে এটি একটি virtualenvএবং pipইনস্টলেশন সম্পর্কে আমার পক্ষে পুরোপুরি কাজ করে ।


4
ধন্যবাদ, PYCURL_SSL_LIBRARY=opensslপুরোপুরি কাজ করে!
thnee

জন্য Mac OS X ব্যবহারকারী: ব্যবহার না মনে রাখবেন set -x PYCURL_SSL_LIBRARY opensslপরিবর্তে export PYCURL_SSL_LIBRARY=opensslযদি আপনি ব্যবহার মাছ পরিবর্তে কনসোল ব্যাশ
সার্জ

13
পিপ ইনস্টল পাইকুরল - না-ক্যাশে-ডির
শুগাং ইয়াং

ধন্যবাদ আমি এই সমস্যাটির বেশ কয়েকটি সম্ভাব্য সমাধান দেখেছি। এই সমাধানটি প্রথমবার কাজ করেছিল।
ম্যাট সেটার

ধাপে ধাপে ইনস্টল virtualenv উদাহরণ yippeecode.com/view-code/343QWQT144/...
helloworld2013

77

হেলিওর্ল্ড ২০১৩ এর উত্তর সঠিক, তবে কীটি এসএসএল লাইব্রেরির সাথে মিলে যা পাইকুরল আশা করছে। ত্রুটিটি এমন কিছু হবে:

পাইকারল: লাইবকার্ল লিংক-টাইম এসএসএল ব্যাকএন্ড ( < লিবারিয়ান > ) সংকলন-সময় এসএসএল ব্যাকএন্ড ( < লিবারি > বা " কিছুই নয় ") থেকে আলাদা )

এটি ঠিক করার জন্য, আপনাকে লাইব্রেরি পাইকুরল আশা করছে ব্যবহার করতে হবে। আমার ক্ষেত্রে আমার ত্রুটি ছিল " : pycurl libcurl লিংক টাইম SSL ব্যাকএন্ড ( NSS ) কম্পাইল-টাইম SSL ব্যাকএন্ড (OpenSSL) থেকে ভিন্ন ," তাই আমার ফিক্স ছিল:

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=nss
pip install pycurl

4
উজ্জ্বল। এটি আরও ভোট পেতে হবে। আসল উত্তরটি কিছু মেশিনে প্রয়োগ করা হয়েছে। আপনার প্ল্যাটফর্মের উপর নির্ভর করে এটি ঠিক করার আরও সাধারণ উপায়।
নিশান্ত

6
হুম এটি কোনও ম্যাকের জন্য আমার পক্ষে কাজ করে না। দেখে মনে PYCURL_SSL_LIBRARYহচ্ছে সম্পূর্ণ উপেক্ষা করা হচ্ছে। সংকলন-টাইম এসএসএল ব্যাকএন্ডটি সর্বদা আমার জন্য "(কোনও নয় / অন্য)" থাকে, যদিও echo PYCURL_SSL_LIBRARYদেয় openssl
এডওয়ার্ড নেওয়েল

4
@EdwardNewell মত এই ফিক্স না কাজ আমার জন্য বৈজ্ঞানিক লিনাক্স (RHEL) উপর, করেনি যদিও আমি PYCURL_SSL_LIBRARY, ব্যাকএন্ড দেহাবশেষ (কিছুই নয় / অন্যান্য) জন্য NSS উল্লেখ করেনি
Yondaime008

4
ম্যাক-এ আমি pycurlপতাকাগুলি সরিয়ে এবং ইনস্টল করেছি :pip install --global-option="--with-openssl" --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include" pycurl
আইজিনইন

4
এটি কেবল নিম্নলিখিত বিকল্পগুলির সাথে কাজ করেছে: pip install pycurl --compile --no-cache-dirCentOS 7.3 এ।
রবার্ট ইয়ি

52

ম্যাকোস 10.13, একটি ব্রি-ইনস্টল ওপেনএসএসএল এবং ভার্চুয়ালেনভের সাহায্যে আমি এতে সফল হয়েছিলাম:

# cd to your virtualenv, then…
pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
pip install pycurl --compile --no-cache-dir

4
হ্যাঁ, ম্যাকস 10.13.1 (উচ্চ সিয়েরা) এ, কৌশলটি তৈরি করেছে! অনেক ধন্যবাদ! ওপেনসেলটি পুনরায় ইনস্টল করার জন্য:brew reinstall openssl
ডেনিস

4
আমি এটি দিয়ে আমার সমস্যাটি স্থির করেছি। ধন্যবাদ :)
JeongjinKim

4
ম্যাক ওএসএক্স 10.13.4 এ সমস্যাটি স্থির! ধন্যবাদ.
ব্যবহারকারী 1192748

4
ধন্যবাদ! আমার সমস্যাটিও ঠিক করে দিয়েছে। ম্যাক ওএসএক্স 10.13.4
স্টিভেন চার্চ

4
শুনে ড্যারিল দুঃখিত! এটি মোজাভেতে আমার জন্য আবার কাজ করেছে, তাই আমি নিশ্চিত যে কী হচ্ছে।
মাইকেল উইলসন

25

পিপ 7.1 এর সাহায্যে আপনি নিম্নলিখিতগুলি আপনার প্রয়োজনীয় ফাইলটিতে রাখতে পারেন:

pycurl==7.19.5.1 --global-option="--with-nss"

কেবলমাত্র এনএসএসকে প্রাসঙ্গিক এসএসএল ব্যাকএন্ড লাইব্রেরির সাথে প্রতিস্থাপন করুন।


4
এই সমাধানটি কোনও ভেরি রফতানি করা এবং পুনরায় ইনস্টল করার চেয়ে ভাল কারণ এটি প্রয়োজনীয়তাগুলিতে ভাগ করা যায় t টেক্সট ফাইল এবং প্রতি ব্যবহারকারীকে পুনরাবৃত্তি করতে হবে না।
dfarrell07

4
OS সেন্টোস 7 এ রফতানি আমার পক্ষে কার্যকর হয়নি। ধন্যবাদ!
অ্যারন এনগুইন

এটিকে ম্যাকোজে কাজ করার জন্য আমাকে আপনার সমাধান এবং @ মিশেল উইলসনের সমন্বয় করতে হয়েছিল। একটি ক্রিপ্টো ইস্যু দেখে মনে হচ্ছে - কিছু আলোচনা এখানে: github.com/pyca/cryptography/issues/3489
কিপ 2

20

ম্যাক ওএস হাই সিয়েরা আপডেটের পরে পাইকারল ঠিক করার পদ্ধতি:

  1. সিকিউর ট্রান্সপোর্টের পরিবর্তে ওপেনএসএসএল ব্যবহার করতে কার্ল গ্রন্থাগারগুলি পুনরায় ইনস্টল করুন

    brew install curl --with-openssl
    
  2. সঠিক বিল্ড-টাইম পরিবেশ এবং পাথ সহ পাইকারল ইনস্টল করুন ur

    export PYCURL_SSL_LIBRARY=openssl
    pip uninstall pycurl 
    pip install --no-cache-dir --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include" --user pycurl
    

4
হাই সিয়েরায় (ভার্চুয়ালেনভ ব্যবহার করে) আমার জন্য কাজ করেছেন।
জাজোয়াত

4
হ্যাঁ! এছাড়াও এই নিবন্ধটি দেখুন cscheng.info/2018/01/26/…
somecallitblues

হাই সিয়েরাতে আমার জন্য কাজ করেছিলেন (একটি ভার্চুয়ালেনভ ব্যবহার করে) তবে আমাকে
ব্যবহারকারীর

আপনাকে অনেক ধন্যবাদ!! এটি অবিশ্বাস্যভাবে সহায়ক ছিল। হাই সিয়েরা চালানো এবং এতে কয়েক ঘন্টা ব্যয় করা, এটিই একমাত্র সমাধান যা কাজ করেছিল :)
আলেসান্দ্রো

--userউপরের মতো পতাকাটি ব্যবহার করার সময় আমি পেয়েছিলাম:Can not perform a '--user' install. User site-packages are not visible in this virtualenv.
ড্যারিল স্পিজিটর

19

এটি আমার পক্ষে কাজ করেছে:

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=nss
easy_install pycurl

এগুলির কোনওটিই আমার পক্ষে কাজ করেনি (পার্থক্যটি সহজভাবে সরল_সইনস্টল বনাম পাইপ হিসাবে নোট করুন):

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=[nss|openssl|ssl|gnutls]
pip install pycurl
#xor
curl -O https://pypi.python.org/packages/source/p/pycurl/pycurl-7.19.3.1.tar.gz
#...
python setup.py --with-[nss|openssl|ssl|gnutls] install

4
easy_installবিকল্প শুধুমাত্র এক যে কাজ ছিল। আমি বুঝতে পারছি না কেন এটি এত জটিল। আমার প্রয়োজন export PYCURL_SSL_LIBRARY=openssl। সংকলিত লাইব্রেরির জন্য আমার একজন "না কেউ / অন্য" রিপোর্ট করেছে।
সিএমসিডিগ্রাগনকাই

এই সমস্যাটির মধ্যে কেবল দৌড়ে এসেছিলেন এবং এই সমাধানটি আমার জন্য কাজ করেছিল।
বুদেউইজন আসমান

4
আমার অভিজ্ঞতায় পিপ ওএস (আমার ক্ষেত্রে সেন্টোস .2.২) দিয়ে ইনস্টল করা পিউকার্লের পুরানো সংস্করণটিকে পুরোপুরি সরিয়ে দেয় না। পূর্ববর্তী সংস্করণ থেকে পাইপ /usr/lib64/python2.7/site-packages/pycurl.so এবং ডিম-তথ্য ফাইল স্পর্শ করেনি। Easy_install অন্যদিকে, সাইট-প্যাকেজগুলিতে পাইকারল ডিম রাখার পাশাপাশি সেগুলি মুছে ফেলে।
sokhaty

উঘ, উপরোক্ত সমস্ত চেষ্টা করে দেখুন এবং এটি কার্যকর হয়নি। এটি আমার জন্য কাজ করেছিল যখন আমার মূল ত্রুটি বার্তাটি ছিল `` `ImportError: pycurl: libcurl লিঙ্ক-টাইম এসএসএল ব্যাকএন্ড (ওপেনসেল) সংকলন-সময় এসএসএল ব্যাকএন্ড (কোনও / অন্য নয়) থেকে আলাদা` ``
জেমস ম্যাককর্ম্যাক

10

কয়েকদিন ধরে আমার এই সমস্যা ছিল। অবশেষে এখানে অন্যান্য উত্তরের সাহায্যে (মূলত আলেকজান্ডার টাইপকভের) আমি এটি এডাব্লুএস ইলাস্টিক বিয়ানস্টকের পক্ষে কাজ করতে পেয়েছি।

ম্যানুয়াল ইনস্টল (এসএসএইচের সাথে সংযুক্ত):

sudo pip uninstall pycurl
curl -O https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz
sudo pip install pycurl-7.43.0.tar.gz --global-option="--with-nss"

গুরুত্বপূর্ণ: দয়া করে নোট করুন যে আপনি পাইথন এবং পিআইপি-র স্রোত সংস্করণটি ব্যবহার করছেন তা নিশ্চিত করতে হবে, অন্যথায় আপনি পাইথন ২.x এর জন্য এটি সংকলন এবং v3.x ব্যবহার করছেন might

ইলাস্টিক বিয়ানস্টালকে স্বয়ংক্রিয়ভাবে ইনস্টল করুন:

files:
  "/usr/local/share/pycurl-7.43.0.tar.gz" :
    mode: "000644"
    owner: root
    group: root
    source: https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz

commands:
  01_download_pip3:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    command: 'curl -O https://bootstrap.pypa.io/get-pip.py'
  02_install_pip3:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    command: 'python3 get-pip.py'
  03_pycurl_uninstall:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    command: '/usr/bin/yes | sudo pip uninstall pycurl'
  04_pycurl_download:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    command: 'curl -O https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz'
  05_pycurl_reinstall:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    command: 'sudo pip install pycurl-7.43.0.tar.gz --global-option="--with-nss"'

container_commands:
  09_pycurl_reinstall:
    # run this before PIP installs requirements as it needs to be compiled with OpenSSL
    # the upgrade option is because it will run after PIP installs the requirements.txt file.
    # and it needs to be done with the virtual-env activated
    command: 'source /opt/python/run/venv/bin/activate && pip3 install /usr/local/share/pycurl-7.43.0.tar.gz --global-option="--with-nss" --upgrade'

আমার এই সমস্যা হয়েছিল কারণ আমি ইলাস্টিক বিয়ানস্টালকে জাজানো 1.10 দিয়ে সিলারি 4 কনফিগার করার চেষ্টা করছিলাম। যদি এটি আপনার ক্ষেত্রে হয় তবে আমি এটি সম্পর্কে একটি সম্পূর্ণ ব্লগ পোস্ট লিখেছিলাম


তোমাকে ধন্যবাদ এই জিনিসগুলি বিরক্তিকর হতে পারে, বিশেষত কারণ ইব কনফিগারেশন ফাইলগুলি খুব চঞ্চল মনে হয় এবং আপনাকে কখনই যুক্তিসঙ্গত ত্রুটি দেয় না (ফর্ম্যাটিং সমস্যা সহ)
ইয়ান

আমি এই উত্তরটিকে অগ্রাহ্য করেছি কারণ এটি এডাব্লুএস-তে পাইকারল ইনস্টল করার সময় অনুরূপ সমস্যা সমাধানে আমাকে অনেক সহায়তা করেছে: stackoverflow.com/questions/51019622/…
গ্রেগ হলস্ট

8

আমি সেন্টোস on-এ রয়েছি above দেখা যাচ্ছে যে এগুলি একটি রুট ব্যবহারকারী হিসাবে চালানো দরকার। সুতরাং আপনার যদি সমস্যা হয় তবে রুট ব্যবহারকারী হিসাবে উপরের যে কোনও সমাধানের চেষ্টা করুন। উদাহরণস্বরূপ, এখানে আমার জন্য কী কাজ করেছে:

su -
pip uninstall pycurl
export PYCURL_SSL_LIBRARY=[nss|openssl|ssl|gnutls]
pip install pycurl

অবশ্যই, রুট ব্যবহারকারী হিসাবে চালানো সম্পর্কে সমস্ত সাধারণ অস্বীকৃতি প্রয়োগ হয়।

দ্রষ্টব্য: উপরের কোডে [এনএসএস | ওপেনসেল | এসএসএল | গুনটস] এর অর্থ একটি বাছাই করা এবং বর্গাকার বন্ধনী বা পাইপগুলি অন্তর্ভুক্ত করবেন না। যে ব্যক্তি মূল প্রশ্নটি জিজ্ঞাসা করত সে ওপেনসেল নির্বাচন করবে। আমার বিশেষ ক্ষেত্রে, আমি এনএসএসকে বেছে নিয়েছি। আপনার ত্রুটি বার্তায় আপনাকে কী পছন্দ করতে হবে তা বলা উচিত।

2019 এডিট করুন: sudo pip installমেশিনের পাইথন ইনস্টল করার ক্ষেত্রে সিস্টেমটি সমস্যা তৈরি করতে পারে। সম্ভবত পাইথন ভার্চুয়াল পরিবেশে কাজ করার চেষ্টা করুন এবং প্যাকেজগুলি ইনস্টল করুন। যদি এটি কাজ করে না, আমার উত্তরটির সুডো ট্রিকটি সম্ভবত বিবেচনা করার জন্য শেষ বিকল্পগুলির মধ্যে একটি।


5

আপনি এখানে থেকে tar.gz ফাইলটি ডাউনলোড করতে পারেন । তারপরে এটি একটি ফোল্ডারে বের করুন। আপনি সেখানে একটি সেটআপ.পি ফাইল পাবেন। কমান্ডটি সেখানে চালান যা সাইটের উল্লেখ করেছে। উদাহরণ স্বরূপ:

python setup.py --with-[ssl|gnutls|nss] install

এফওয়াইআই: আমি আমার উইন্ডোতে পাইকারল ইনস্টল করার চেষ্টা করেছি, তবে আমি পারিনি। কিন্তু আমার লিনাক্স এ এটা করেছে।


প্রতিক্রিয়াটির জন্য ধন্যবাদ, তবে এটি কেবল তখনই আমার পক্ষে কাজ করতে পারে যদি আমি কোনও ভার্চুয়ালনেভ এবং পাইপের মাধ্যমে ইনস্টলেশনটি না করি
helloworld2013

@Sabuj ইনস্টল করতে pycurl : এই চমৎকার ওয়েবসাইটে প্রদত্ত ইনস্টলারের উইন্ডোজ ব্যবহার এক lfd.uci.edu/~gohlke/pythonlibs/#pycurl
আদম

4

আমি এটি ওএস এক্স এ চালাচ্ছি এবং উপরের সমাধানগুলির কিছু কাজ করছে না। অনুরূপ এডওয়ার্ড নিউওয়েল এর মন্তব্যPYCURL_SSL_LIBRARY পরিবর্তনশীল সম্পূর্ণরূপে উপেক্ষা করা হয়েছে করলো। পাইকআরএল ইনস্টলেশন ডকটির
আরও পড়া নিম্নলিখিত বিষয়গুলি প্রকাশ করেছে:

পাইপ প্যাকেজটিকে নতুনভাবে নির্দিষ্ট করা বিকল্পগুলির সাথে পুনরায় সংকলনের পরিবর্তে প্যাকেজটি পুনরায় ইনস্টল করতে পারে

অতএব, আমাকে এটির সাথে সংকলন করতে বাধ্য করতে হয়েছিল:

pip install --compile pycurl

এটি বেশ কয়েকটি মামলায় কাজ করে। যাইহোক, আমি কয়েকটি সিস্টেমে চালিত করেছি যা ভেরিয়েবলটিকে অগ্রাহ্য করে চলেছে তাই মহারগ 101 এর উত্তরের অনুরূপ , আমি ইনস্টল অপশনগুলির সাহায্য নিয়েছিলাম যা পাইপের মাধ্যমে এইভাবে সেট করা যেতে পারে:

pip install pycurl --global-option="--with-[ssl|gnutls|nss]"

যেখানে আপনি বর্গাকার বন্ধনীগুলির ভিতরে তিনটি বিকল্পের মধ্যে একটি নির্বাচন করুন। লক্ষ্য করুন যে উপলভ্য বিকল্পটি রয়েছে sslএবং না openssl । আপনি যদি নির্দিষ্ট করে থাকেন তবে --with-opensslএকটি ত্রুটি পাবেন। এছাড়াও মনে রাখবেন যে আপনি যদি PYCURL_SSL_LIBRARYভেরিয়েবলটি নিয়ে গোলযোগ করছেন এবং শেষ কমান্ডটি কী ঘটবে তা দেখার জন্য এটি ফানকি মানগুলিতে স্যুইচ করে রাখছেন এবং মানটি সেট করা থাকলেও বৈধ না হলে কোনও ত্রুটি ছুঁড়ে ফেলবে।


4
প্রথমে পাইকারল আনইনস্টল করুন এবং pip install pycurl --global-option="--with-nss"আমার জন্য কাজ করুন। রেকর্ডটির জন্য, আমার ত্রুটিটি হলImportError: pycurl: libcurl link-time ssl backend (nss) is different from compile-time ssl backend (openssl)
অহং

ধন্যবাদ @ অহায়ং গ্লোবাল অপশন ট্রিকটি আমার জন্য কাজ করেছে, যদিও টার থেকে ইনস্টল করার সময় আমি চেষ্টা করেছিলাম, এটি পাইপ দিয়ে কাজ করেছিল তবে সেটআপ.প্রেইড অদ্ভুতভাবে নয় ...
Yondaime008

4

কার্ল পুনরায় ইনস্টলেশন

আমি এই আলোচনা থেকে প্রতিটি পরামর্শ চেষ্টা করেছিলাম কিন্তু কেউ আমার পক্ষে কাজ করেনি। সমাধান হিসাবে আমি কার্ল এবং কার্লিব পুনরায় ইনস্টল করেছি। এর পরে আমি পরিবেশের অভ্যন্তরে এসএসএল সমর্থন সহ পাইকারল ইনস্টল করতে সক্ষম হয়েছি।

শুরুতে:

'পাইকিউআরএল / .4.৪৩.০ লিবিচুরল / .4.৪7.০ গ্নুটিএলএস / ৩.৪.১০ জিলিব / ১.২.৮ লিবিডন / ১.৩৩ লিবার্ট্প / ২.৩'

পার্ট 1. পাইপ দিয়ে / ইনস্টল করুন

প্রথম উত্তরগুলিতে পরামর্শ হিসাবে প্রথমে আমি পাইপ ব্যবহার করে ভার্চুয়ালেনভ থেকে পাইকারল সরিয়েছি:

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
pip install pycurl --global-option="--with-openssl"

এখানে ধারণাটি হ'ল প্যাকেজটি ক্যাশে হয়েছে এবং আমরা কেবল ওপেনসেল বিকল্পের সাথে এটি পুনরায় ছড়িয়ে দেব।

আমি পাইপ ব্যবহার করে পাইকারল পুনরায় সংকলনের চেষ্টা করেছি:

pip install pycurl --compile pycurl --no-cache

..কিন্তু দৌড়ানোর পরেও একই ত্রুটি ছিল:

python
import pycurl
pycurl.version

ImportError: pycurl: libcurl লিংক টাইম SSL ব্যাকএন্ড ( gnutls ) কম্পাইল-টাইম SSL ব্যাকএন্ড (থেকে ভিন্ন OpenSSL )

খণ্ড 2. টার থেকে ইনস্টলেশন

পূর্ববর্তী পদ্ধতিটি কাজ না করার পরে আমি ডার থেকে পাইকারল ইনস্টল করার সিদ্ধান্ত নিয়েছি:

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. কার্ল এবং কার্লিব পুনরায় ইনস্টলেশন

পরিশেষে আমি বুঝতে পেরেছিলাম যে পাইকারল পরিবেশে সাধারণত ইনস্টল হয় না কারণ গ্লোবাল কার্ল এবং লিবকুরল গাঁট দিয়ে সংকলিত।

এটি পরীক্ষা করে শুরু করার আগে:

curl-config --configure

এক আউটপুট লাইন হবে

'- উইথআউট-এসএসএল' '- বাদামের'

এটি পুনরায় সংকলন করতে:

প্রথমে কার্ল অপসারণ করুন:

sudo apt-get purge curl

কার্লের জন্য প্রয়োজনীয় যে কোনও বিল্ড নির্ভরতা ইনস্টল করুন

sudo apt-get build-dep curl

সর্বশেষ (20 ডিসেম্বর, 2016 হিসাবে) লিবিচুরল পান

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
এসএসএল সমর্থন: সক্ষম (ওপেনএসএসএল) ...

সি-স্তরের lib লোকেশন ক্যাশের যেকোন সমস্যা সমাধান করুন ("ভাগ করা লাইব্রেরি ক্যাশে")

sudo ldconfig

এখন পরিবেশের মধ্যে পাইকারল পুনরায় ইনস্টল করার চেষ্টা করুন:

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

'পাইকিউআরএল / .4.৪৩.০ লিবিচুরল / .5.৫১.০ ওপেনএসএসএল / ১.০.২ জি জ্লিব / ১.২.৮ লিবিআরটিএমপি / ২.৩'


4

ম্যাকোস মোজভেতে পাইচার্ম সিই-র ভিতরে যে কারও সমস্যা রয়েছে তার জন্য আমি এটি ভেন্টে কাজ করতে পারি:

  • সংস্করণ নির্দিষ্ট করুন: 7.43.0.1
  • বিকল্পগুলি: --install-অপশন = - ওপেনসেল সহ --install-অপশন = - ওপেনসেল-দির = / ইউএসআর / স্থানীয় / অপ্ট / ওপেনসেল

পাইচর্ম প্রকল্প ইন্টারপ্রেটার স্ক্রিন শট


4
ম্যাকস মোজেভে আমার জন্য আমার ব্রিউ রিইনস্টল ওপেনসেল চালাতে হবে এবং তারপরে পাইপ ইনস্টল করুন == 7.43.0.1 - ইনস্টল-অপশন = - ওপেনসেল - ইনস্টল-অপশন = - ওপেনসেল-দির = / ইউএসআর / স্থানীয় / অপ্ট /
ওপেনসেল

3

আমি এখানে ম্যাকোস 10.13 তে কোনও সাফল্য ছাড়াই সবকিছু চেষ্টা করেছি। তারপরে আমি https://gist.github.com/webinista/b4b6a4cf8f158431b2c5134630c2cbfe খুঁজে পেয়েছি যা কাজ করেছে:

brew install curl --with-openssl
pip uninstall pycurl
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L/usr/local/opt/openssl/lib;export CPPFLAGS=-I/usr/local/opt/openssl/include; pip install pycurl --compile --no-cache-dir

ভার্চুয়ালেনভ এবং ভ্যুচুয়ালেনভের মধ্যে না ব্যবহার করার সময় এটিই আমার পক্ষে কাজ করেছিল।



1

এটি কোনও ভার্চুয়ালেনভে দৌড়ানোর কারণে হয়েছে কিনা তা নিশ্চিত নয়, তবে সেন্টোস 7-এ এই সমাধানগুলি আমার পক্ষে কাজ করে নি; আমি পুনরায় ইনস্টল করার সময় সংকলিত বস্তুগুলি তখনও ক্যাশে দির থেকে ধরা হয়েছিল। আপনি যদি এখানে অন্যান্য সমাধানের চেষ্টা করার পরেও একই সমস্যায় পড়ছেন তবে নিম্নলিখিত বিষয়গুলি চেষ্টা করুন:

pip uninstall pycurl
export PYCURL_SSL_LIBRARY=[nss|openssl|ssl|gnutls]
pip install pycurl --no-cache-dir

এখানে একই, CentOS 7 এ আমি --no-cahe-dirবিকল্পটি যুক্ত না করা পর্যন্ত এটি কাজ করছে না । কেবল আরও উল্লেখ করতে চাই যে এটি কেবলমাত্র su -@alfonso এর পরামর্শ অনুসারে মূলের নিচে চলা সফল হয়েছিল। করা sudo pip3 ...যথেষ্ট ভালো ছিল না। পরিবেশের পরিবর্তনশীলটি বাছাই করার জন্য সম্ভবত প্রয়োজনীয়।
নাগেভ

1

ত্রুটি:

আমদানি ত্রুটি: পাইকুরল: লিবকুরল লিঙ্ক-টাইম এসএসএল ব্যাকএন্ড (ওপেনসেল) সংকলন-সময় এসএসএল ব্যাকএন্ডের চেয়ে আলাদা নয় (অন্য কোনও নয়)

এটি আমার জন্য কাজ করেছে, ম্যাক 10.13, পাইথন 3.5, পাইকুরেল আমদানি এই জাতীয় ইনস্টল করার পরে কাজ করেছে

pip3 uninstall pycurl;

pip3 install --compile --install-option="--with-openssl" pycurl

এটি হাই সিয়েরায় পাইথন ২.7.১০ তেও আমার পক্ষে কাজ করেছিল।
স্কাইলার

1

দীর্ঘক্ষণ এটি আটকে থাকার পরে, আমি জানতে পারি যে ওএস এক্স 10.11 এল ক্যাপিটান থেকে ওপেনএসএসএল হেডার সহ অ্যাপল বন্ধ হয়ে গেছে। কিভাবে ঠিক করবো?

1) brew install openssl

2) echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile (or .zshrc for zsh, etc)

3) pip uninstall pycurl

4) pip install --install-option="--with-openssl" --install-option="--openssl-dir=/usr/local/opt/openssl" pycurl

নিশ্চিত বিষয়, এটি কাজ করতে আমাকে অনেক সময় নিয়েছে, বেশ বিরক্তিকর আমি অবশ্যই বলব। আনন্দ কর!!
হোয়াইটবার

1

অ্যামাজনলিনাক্সের একই সমস্যা - অ্যামাজনলিনাক্সের
ভিত্তিতে ডকার ইমেজ তৈরি করার সময়, পাইথন 3.7 ইনস্টল করার সময় এবং পাইকারল মডিউলটি যুক্ত করার সময় আমার এই সমস্যাটি সমাধান হয়েছিল। পাইকারল ব্যতীত অন্য সমস্ত পাইথন মডিউলগুলি সঠিকভাবে ইনস্টল করা হয়েছিল। এই সমস্যার সাথে যুক্ত থ্রেডে প্রস্তাবিত অনেকগুলি সমাধানের চেষ্টা করার পরে অবশেষে সমস্ত টুকরো ইনস্টল করার জন্য নিম্নলিখিত কমান্ডগুলি ব্যবহার করে আমার সমস্যাটি সমাধান করেছি।
yum -y install python3 python3-devel gcc libcurl-devel aws-cli openssl-static.x86_64
তারপরে সাইকোপজি ২-বাইনারি, অনুরোধ, সার্টিফির মতো অন্যান্য মডিউল ইনস্টল করে:
pip3 install --user --no-cache-dir -r requirements.txt

এবং অবশেষে ব্যবহৃত পাইকারল মডিউলটি ব্যবহার করে:

pip3 install --user --global-option="--with-openssl" --no-cache-dir pycurl
এবং এখানে ওপেনসেল গ্লোবাল বিকল্পটি পাস করছে। স্ট্যাটিক লাইব্রেরি ওপেনএসএল- স্ট্যাটিক.এক্স 86_64 ইনস্টলটি আমার ক্ষেত্রে দ্বিতীয় পাইপ 3 কমান্ড দ্বারা ব্যবহৃত বৈশ্বিক বিকল্প ব্যবহার হিসাবে সমস্যাটি সমাধান করেছে।


0

অজগর জন্য 2.7

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

অজগর 3.5 এর জন্য এছাড়াও পরবর্তী ইনস্টল করুন:

sudo apt-get install python3.5-dev

পাইপি https://pypi.python.org/pypi/pycurl/7.43.0# ডাউনলোডগুলি থেকে সর্বশেষতম পাইকুরল -7.43.0.tar.gz (এমডি 5) উত্স ডাউনলোড করুন এবং পরবর্তী কমান্ডটি চালান:

python setup.py --with-openssl install

এছাড়াও আপনি এটি অজগর পরিবেশে করতে পারেন:

(test_env)user@pc:~/Downloads/pycurl-7.43.0$ python setup.py --with-openssl install

0
pip install -U pip

if [ "$(curl --version | grep NSS 2>/dev/null)" ]; then
    pip install --compile --install-option="--with-nss" pycurl
else
    pip install --compile --install-option="--with-openssl" pycurl
fi

0

আমি এই সমস্যার মুখোমুখি হয়েছি এবং সংকেত জগতের উত্তর আমার পক্ষে কাজ করেছে। আমি সর্বাধিক ভোটের উত্তর দিয়ে উত্তরটি চেষ্টা করেছি তবে এটি কার্যকর হয়নি।

আমার ওপেনসেল পুরানো সংস্করণ 1.0.1 টু, আমি মনে করি ওপেনসেল পুনরায় ইনস্টল করা এই সমস্যাটি সমাধান করতে পারে।

--- pycurl's openssl backend time....

আমি সর্বশেষ ওপেনসেলটি পুনরায় তৈরি করেছি এবং এই উত্তরটির চেষ্টা করেছি । এটা দেখ.

pip install --compile --install-option="--with-openssl" pycurl

এটি আমার পক্ষে কাজ করেছে।

আমি সুপারিশ করি আমাদের চেষ্টা করার জন্য আমাদের ওপেনসেলটি পুনরায় ইনস্টল করা উচিত ..


0

নিম্নলিখিতটি পাইথন 3 .6 নিয়ে আমার জন্য কাজ করেছেন

ম্যাকস হাই-সিয়েরা

sudo pip3 uninstall pycurl
sudo pip3 install --compile --install-option="--with-openssl" pycurl 

সেন্টস 7

sudo pip3 uninstall pycurl
sudo pip3 install --compile --install-option="--with-nss" pycurl

0

এই লিঙ্কটি ত্রুটিগুলি হওয়ার কারণটি যোগ করে এবং সমস্যাটি সমাধানের জন্য একটি স্পষ্ট নির্দেশ দেয়।

https://cscheng.info/2018/01/26/installing-pycurl-on-macos-high-sierra.html

আমার জন্য, আমি যখন এল ক্যাপ্টেন থেকে হাই-সিয়েরাতে আপগ্রেড করেছি তখন সমস্যাটি হয়েছিল।


0

এফডাব্লুআইডাব্লু, আমি এডাব্লুএস ইলাস্টিক বিয়ানস্টালকের মাধ্যমে এটি কাজ করার জন্য প্রচুর সমস্যার মুখোমুখি হয়েছি এবং শেষ পর্যন্ত এটির সাথে কাজ করতে সক্ষম হয়েছি:

packages:
  yum:
    openssl-devel: []
    libcurl-devel: []

container_commands:
  # Reinstall PyCurl with correct ssl backend
  05_reinstall_pycurl:
    command: |
      pip install --upgrade pip
      pip uninstall -y pycurl
      pip install --global-option='--with-openssl' pycurl

0

সম্প্রতি একটি জ্যাঙ্গো প্রকল্প আপগ্রেড করার সময় আমারও একই ত্রুটি হয়েছিল। তবে এবার পরিবেশের পরিবর্তনশীল সেট করে কাজ করা হয়নি। সুতরাং আমি উভয় পরিবেশের পরিবর্তনশীল সেট করতে export PYCURL_SSL_LIBRARY=opensslএবং পতাকা পাস করতে হয়েছিল --global-option="with-openssl"

মূল উত্তরটি এই পৃষ্ঠায় পোস্ট করা হয়েছিল


-1
export CPPFLAGS=-I/usr/local/opt/openssl/include
export LDFLAGS=-L/usr/local/opt/openssl/lib

pip install pycurl --global-option="--with-openssl"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.