Letencrypt के लिए सर्टिफिकेट पाइटोप्सिल मॉड्यूल गायब है


10

मुझे LetsEncrypt के लिए सर्टिफिकेट सेट करने में मदद चाहिए

मैं पायथन 2.7 के साथ CentOS 7 पर चल रहा हूं

जब मैं प्रमाण पत्र चलाता हूं तो मुझे निम्नलिखित त्रुटि मिलती है:

[root@li86-193 frappe-bench]#certbot certonly --manual

Traceback (most recent call last):
  File "/usr/bin/certbot", line 7, in <module>
    from certbot.main import main
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 21, in <module>
    from certbot import client
  File "/usr/lib/python2.7/site-packages/certbot/client.py", line 10, in <module>
    from acme import client as acme_client
  File "/usr/lib/python2.7/site-packages/acme/client.py", line 31, in <module>
    requests.packages.urllib3.contrib.pyopenssl.inject_into_urllib3()
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 112, in inject_into_urllib3
    _validate_dependencies_met()
  File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/contrib/pyopenssl.py", line 147, in _validate_dependencies_met
    raise ImportError("'pyOpenSSL' module missing required functionality. "
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.

[root@li86-193 frappe-bench]# pip show certbot
Name: certbot
Version: 0.11.1
Summary: ACME client
Home-page: https://github.com/letsencrypt/letsencrypt
Author: Certbot Project
Author-email: client-dev@letsencrypt.org
License: Apache License 2.0
Location: /usr/lib/python2.7/site-packages
Requires: ConfigArgParse, configobj, zope.component, pytz, setuptools, cryptography, zope.interface, pyrfc3339, mock, parsedatetime, six, acme, PyOpenSSL

[root@li86-193 frappe-bench]# pip show pyopenssl
Name: pyOpenSSL
Version: 16.2.0
Summary: Python wrapper module around the OpenSSL library
Home-page: https://pyopenssl.readthedocs.io/
Author: Hynek Schlawack
Author-email: hs@ox.cx
License: Apache License, Version 2.0
Location: /usr/lib/python2.7/site-packages
Requires: six, cryptography

कृपया मदद करें

धन्यवाद


कृपया अपनी पोस्ट को पठनीय होने के लिए ठीक करें, ट्रेसबैक सभी गड़बड़ हैं ... इसके अलावा, कृपया यह भी शामिल करें कि आपने कैसे सर्टिफिकेट स्थापित किया है, आपने क्या करने की कोशिश की है और इसे अभी तक काम करने के लिए प्राप्त किया है और कोई भी जानकारी जो वास्तव में हमें यह समझने में मदद कर सकती है कि क्यों आपको यह त्रुटि मिल रही है।
गिन्नुंगगप

कृपया virtualenv
Danie

जवाबों:


7

CentOS / RHEL सिस्टम पर मैन्युअल रूप से सर्टिफिकेट स्थापित करने का प्रयास न करें। यह सिर्फ एक बड़ी गड़बड़ करता है। इसके बजाय, इसे ईपीईएल से स्थापित करें।

yum install epel-release
yum install certbot

1
मैंने एपेल से स्थापित किया, और मुझे अभी भी वही समस्या हो रही है
क्रिस्मार्क्स

7
मैं ईपीईएल सर्टिफिकेट पैकेज चलाता हूं और इस मुद्दे को हल करता हूं। मेरे सिस्टम पर कुछ और लोगों ने 'अनुरोध' लाइब्रेरी को नवीनतम (इस लेखन के रूप में 2.13.0) अपडेट किया था, लेकिन आरपीएम जो कि सर्टिफिकेट के लिए एक निर्भरता के रूप में स्थापित है, 2.6.0 है। pip list 2>/dev/null | grep requestsऔर के लिए संस्करणों की तुलना करें rpm -q python-requests --queryformat '%{VERSION}\n'। यदि वे अलग हैं, तो प्रयास करें pip install --upgrade --force-reinstall 'requests==2.6.0'
एलन आइवी

4

मैंने पिछले 2 महीनों में 2 अलग Centos7 सिस्टम पर दो बार इसी मुद्दे का अनुभव किया। इसी से मेरा काम बना है:

  • yum remove pyOpenSSL [यह एपेल के माध्यम से स्थापित सर्बोट को हटा देगा]
  • यम इंस्टॉल ओपनसेल-डेवेल पाइथन-डेवेल [मई या वास्तव में आवश्यक नहीं हो सकता है]
  • पाइप स्थापित करें
  • पाइप स्थापित करें सर्पोट-अपाचे

इन चरणों को पूरा करने के बाद मैं अपने प्रमाणपत्रों को सफलतापूर्वक प्रमाणित करने में सक्षम हुआ।


1
यह काम किया। urllib3 पाइप स्थापित और pyOpenSSL के यम स्थापित संस्करणों के बीच भ्रमित हो जाता है। यम संकुल को निकालना और पाइप के साथ स्थापित करना इसे सही करता है।
स्कूटर

उन पहले तीन आदेशों को लागू करने के बाद, मुझे UnknownExtra: requests 2.6.0 has no such extra feature 'security'$ certbot certonly ...
फॉलोइन

3

मैं एक ही मुद्दे में चल रहा हूँ। अजगर वेन का उपयोग करके मैं पाइप का उपयोग करके सर्टिफिकेट प्राप्त करने में सक्षम था।

चरण: virtualenv स्थापित करें

pip install virtualenv --upgrade

एक virtualenv बनाएँ

virtualenv -p /usr/bin/python2.7 certbot

certbotVirtualenv को सक्रिय करें

. /root/certbot/bin/activate

आपका संकेत कुछ इस तरह से बदल सकता है

(certbot) [root@hostname ~]#

फिर पाइपलाइन स्थापित करें

pip install certbot

एक बार पूरा होने के बाद आप वर्चुअनव के certbotतहत कमांड का परीक्षण कर सकते हैं certbot, लेकिन यह व्यावहारिक नहीं है यदि आप सर्टन को सर्टिफिकेट नवीनीकरण के लिए उपयोग करने जा रहे हैं। तो आभासी वातावरण को निष्क्रिय करें,

(certbot) [root@hostname ~]# deactivate

अब से certbot कमांड चलाएँ

/root/certbot/bin/certbot

2

यह मेरे लिए काम कर रहा है।

यहां से एक आरपीएम पकड़ो: http://rpm.pbone.net/index.php3/stat/4/idpl/31446026/dir/centos_7/com/pyOpenSSL-0.15.1-1.el7.noarch.rpm.html

wget ftp://ftp.muug.mb.ca/mirror/centos/7.2.1511/cloud/x86_64/openstack-mitaka/common/pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo rpm -Uvh pyOpenSSL-0.15.1-1.el7.noarch.rpm
sudo yum install certbot

"ImportError: 'pyOpenSSL' मॉड्यूल में आवश्यक कार्यक्षमता गायब है। v0.14 या नए में अपग्रेड करने का प्रयास करें।" मैंने इस समस्या का सामना किया है और अंत में 'pyOpenSSL-0.15.1-1.el7.noarch.rpm'
kai.fantasi

2

सही फिक्स है:

mv /usr/lib64/python2.7/site-packages/OpenSSL /usr/lib64/python2.7/site-packages/pyOpenSSL

थैंक्स गिन्नी फ्रिम गीथब।


क्या जादू सही से चला।
j4hangir

1

लोगों के yumमाध्यम से स्थापित संकुल को न मिलाएं pip। उचित फिक्स में पाइप पैकेज को हटाने और इसमें से सब कुछ स्थापित करना शामिल है yum। मैंने इसे यहां रेखांकित किया है

Certbot को चलाने के लिए आपको CentOS 7 पर नए pyOpenSSL की आवश्यकता नहीं है!

pip uninstall requests
yum reinstall python-requests

pip uninstall six
yum reinstall python-six

pip uninstall urllib3
yum reinstall python-urllib3

0

मुझे 0.9.3 में भी यही समस्या थी। यह nginx प्लगइन स्थापित करने के कारण हुआ।

आप आसानी से एक काम की स्थापना को पुन: उत्पन्न कर सकते हैं:

docker run -it --rm centos: centos7 bash yum -y install epel-release yum -y install


कोई काम?
२३'१

पता नहीं कहाँ मुद्दा था। मैंने CentOS को फिर से स्थापित किया और इसने अब काम किया :(
CS378

0

बस इसे चलाकर काम किया

sudo pip install pyOpenSSL==0.14.0

इसने 0.13 संस्करण को हटा दिया और 0.14 को स्थापित किया, फिर सर्बोट ने सामान्य रूप से काम किया।


मुझे निम्नलिखित मिलते हैं:ERROR: Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
Pathros

0

ऐसा लगता है कि एपल स्रोत का संस्करण बहुत पुराना है, आप यम संस्करण के सर्पोट को हटा सकते हैं और इसे स्थापित कर सकते हैं


-4

सर्टिफिकेट के बजाय, Letencrypt क्लाइंट ने मेरे लिए समस्या हल की।

आप दूसरे ग्राहक को निकाल सकते हैं

pip uninstall certbot
pip uninstall pyopenssl

और फिर Letencrypt स्थापित करें:

pip install letsencrypt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.