Certbot: ImportError「requests.packages.urllib3」ずいう名前のモゞュヌルがありたせん

䜜成日 2017幎09月12日  Â·  37コメント  Â·  ゜ヌス: certbot/certbot

CentOS 7.3でnginxを䜿甚しおいたすが、 certbot --nginx実行するず゚ラヌが発生したす

ImportError: No module named 'requests.packages.urllib3'

[root<strong i="9">@demo</strong> src]# certbot --nginx
Traceback (most recent call last):
  File "/usr/bin/certbot", line 9, in <module>
    load_entry_point('certbot==0.14.1', 'console_scripts', 'certbot')()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 564, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2662, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2316, in load
    return self.resolve()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2322, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/lib/python2.7/site-packages/certbot/main.py", line 14, in <module>
    from certbot import account
  File "/usr/lib/python2.7/site-packages/certbot/account.py", line 17, in <module>
    from acme import messages
  File "/usr/lib/python2.7/site-packages/acme/messages.py", line 4, in <module>
    from acme import challenges
  File "/usr/lib/python2.7/site-packages/acme/challenges.py", line 10, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
    from .exceptions import InvalidURL
  File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
    from .packages.urllib3.exceptions import HTTPError as BaseHTTPError
  File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 95, in load_module
    raise ImportError("No module named '%s'" % (name,))
ImportError: No module named 'requests.packages.urllib3'

パッケヌゞ

[root<strong i="13">@demo</strong> src]# pip list
acme (0.14.1)
backports.ssl-match-hostname (3.4.0.2)
certbot (0.14.1)
certifi (2017.7.27.1)
cffi (1.6.0)
chardet (3.0.4)
Cheetah (2.4.4)
cloud-init (0.7.6)
ConfigArgParse (0.11.0)
configobj (4.7.2)
cryptography (1.3.1)
decorator (3.4.0)
enum34 (1.0.4)
future (0.16.0)
idna (2.6)
iniparse (0.4)
ipaddress (1.0.16)
IPy (0.75)
Jinja2 (2.9.6)
jsonpatch (1.16)
jsonpointer (1.10)
kitchen (1.1.1)
Markdown (2.6.8)
MarkupSafe (1.0)
mock (1.0.1)
ndg-httpsclient (0.3.2)
oauth (1.0.1)
parsedatetime (1.5)
perf (0.1)
pip (9.0.1)
ply (3.4)
policycoreutils-default-encoding (0.1)
prettytable (0.7.2)
psutil (2.2.1)
pyasn1 (0.1.9)
pycparser (2.14)
pycurl (7.19.0)
pygobject (3.14.0)
pygpgme (0.3)
pyliblzma (0.5.3)
pyOpenSSL (0.13.1)
pyparsing (1.5.6)
pyRFC3339 (1.0)
python2-pythondialog (3.3.0)
pytz (2012d)
pyudev (0.15)
pyxattr (0.5.1)
PyYAML (3.12)
requests (2.18.4)
seobject (0.1)
sepolicy (1.1)
setuptools (36.2.7)
six (1.9.0)
slip (0.4.0)
slip.dbus (0.4.0)
urlgrabber (3.10)
urllib3 (1.22)
yum-axelget (1.0.4)
yum-metadata-parser (1.1.4)
zope.component (4.1.0)
zope.event (4.0.3)
zope.interface (4.0.5)

私は䜕をすべきか

fedora / redhat / CentOS pkging debugging

最も参考になるコメント

曎新。 これで修正されたようです...

pip install requests urllib3 pyOpenSSL --force --upgrade

党おのコメント37件

certbotをどのようにむンストヌルしたしたか
urllib3をむンストヌルするpipで修正される可胜性がありたすが、もっず簡単な方法があるかもしれたせん。 たずえば、rpmずしおパッケヌゞ化されおいたす。これは、centosにむンストヌルするための掚奚される方法です https //www.rpmfind.net/linux/rpm2html/search.php
しかし、これを䟝存関係ずしおむンストヌルしたものがないのは驚くべきこずです。 パッケヌゞマネヌゞャヌからcertbotをむンストヌルしたしたか これらの指瀺に埓いたしたか https://certbot.eff.org/#centosrhel7 -nginx

@SwartzCrはい、 https //certbot.eff.org/#centosrhel7-nginxに埓っお実行したした

4886で述べたように、リク゚ストのバヌゞョンず6぀を曎新しおみおください。同じ問題だず思いたす。 @erikroseは、centOSたたはRHELのアップストリヌムに䜕かを送信する必芁がある状況ですか

圌はすでに最新バヌゞョンのリク゚ストを持っおいるようで、6぀あるので、4884ずは状況が異なりたす。

CentOS 7では、urllib31.22を取埗する唯䞀の方法はpipinstallを䜿甚するこずです。 epelを䜿甚したyumバヌゞョンは非垞に叀く、python-urllib3.noarch 01.10.2-3.el7であり、間違ったバヌゞョン゚ラヌをトリガヌしたす。 ただし、 urllib3 v.1.22を䜿甚しお次のようになりたす。
ImportError: No module named 'requests.packages.urllib3'
私はすべおの最新のパッケヌゞを甚意しおいるず思いたす
certbot (0.18.1) certbot-apache (0.18.1) certifi (2017.7.27.1) pycurl (7.19.0) requests (2.18.4) six (1.11.0) urlgrabber (3.10) urllib3 (1.22)

曎新。 これで修正されたようです...

pip install requests urllib3 pyOpenSSL --force --upgrade

しかし、 certbot --apacheを実行するず、これが発生したす。
AttributeError: 'module' object has no attribute 'rand'

CentOS7.3の新しいむンストヌルで同じ問題が発生したす。 たた、 python2-certbotむンストヌルしようずしたしたが、 @ wardmundyず同じ゚ラヌが発生しcertbot-2 --standaloneを実行しようずしおいたした。

叀いバヌゞョン0.14.0をむンストヌルしようずしたしたが、同じ゚ラヌが発生したした。 私は手動ルヌトをたどりたした、それはうたくいきたした、私は私の蚌明曞を銖尟よく取埗したした。

@wardmundyず@akosveresのランドの問題はhttps://github.com/certbot/certbot/commit/7f5f6471fea939c70294c2f31875d90320482861で修正されたした
バヌゞョン番号0.18.2のバグ修正リリヌスでたもなくリリヌスされたす
これは、opensslがrandのサポヌトを予定より早く非掚奚にしたこずが原因でした https 
人々はただurllib3の問題を経隓しおいたすか

今日、Centos7にcertbotをむンストヌルしようずしたした。 私はこのhttps://certbot.eff.org/#centosrhel7-otherステップバむステップに埓い
sudo certbot certonlyを実行しようずするず、urllib3が芋぀からないず衚瀺されたした

pip install requests urllib3 pyOpenSSL --upgradeを実行した埌
゚ラヌメッセヌゞがに倉わりたす
ImportError 'pyOpenSSL'モゞュヌルに必芁な機胜がありたせん。 v0.14以降にアップグレヌドしおみおください。

@DeronLeeず同じ゚ラヌが発生し
新しいもの

@jcguevara぀いに、

少なくずもこれらのケヌスのいく぀かでは、パッケヌゞがpipむンストヌルされ、オペレヌティングシステムによっお提䟛されるパッケヌゞのバヌゞョンをオヌバヌラむドする、砎損したPython環境が疑われたす。 これを行わないこずを匷くお勧めしたす。

すでにこの䜍眮にいるこずに気付いた堎合は、システムにあるPythonパッケヌゞぞの䟝存を最小限に抑えた

@DeronLeeアドバむスありがずう

GitHubから盎接ダりンロヌドし、 @ bmwが掚奚するようにcertbot-autoを実行するだけで解決したす。

@jcguevaraありがずう。 埌で詊しおみたす。

cerbot-autoは驚くほど機胜したす これを行うための远加のツヌルがたくさんあるのはなぜですか ˇˍˇ

理由

  • env mac osx + Python2.7.13
  • opensslバヌゞョンを確認する必芁がありたす。
  • mac osxのデフォルトのopensslバヌゞョンは0.9.8zh 14 Jan 2016です。
  • brew install opensslを䜿甚する堎合、珟圚のバヌゞョンはstable 1.0.2lです。
  • ただし、 brew install [email protected]を䜿甚するず、このバヌゞョンではNo Module Found Urllib3問題が発生したす。

盎し方


brew uninstall [email protected]

# openssl: stable 1.0.2l
brew install openssl

  • 次に、 Urllib3問題が修正されおいるこずがわかりたす。

このコマンドを実行した埌
pip install requests urllib3 pyOpenSSL --force --upgrade

@DeronLeeが蚀ったように

゚ラヌメッセヌゞがに倉わりたす
ImportError 'pyOpenSSL'モゞュヌルに必芁な機胜がありたせん。 v0.14以降にアップグレヌドしおみおください。

pyOpenSSLバヌゞョン16.2.0をむンストヌルしたしたが、うたくいきたした。
pip install pyOpenSSL==16.2.0

ありがずう。 最新バヌゞョンをむンストヌルしようずしたしたが、機胜したせん。 倚分、私
特別バヌゞョンを詊す必芁がありたす

2017幎11月11日1:04 AM、「NguyễnThanhTiến」 [email protected]
曞きたした

このコマンドを実行した埌
pipむンストヌルリク゚ストurllib3pyOpenSSL --force --upgrade

@DeronLee https://github.com/deronleeが蚀ったように

゚ラヌメッセヌゞがに倉わりたす
ImportError 'pyOpenSSL'モゞュヌルに必芁な機胜がありたせん。 詊しおみおください
v0.14以降ぞのアップグレヌド。

pyOpenSSLバヌゞョン16.2.0をむンストヌルしたしたが、うたくいきたした。
pip install pyOpenSSL == 16.2.0

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/certbot/certbot/issues/5104#issuecomment-343529478 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/ALj8rHCKhYhwrgCEfvzwVaveagxIVMmtks5s1IIBgaJpZM4PUFnt
。

@ thanhtien522
ありがずう。 最新バヌゞョンをむンストヌルしようずしたしたが、機胜したせん。 倚分私は特別なバヌゞョンを詊しおみるべきです

@DeronLee教えおいただけたすか

  • 実行しおいるOSのバヌゞョンは䜕ですか
  • むンストヌルしたCertbotのバヌゞョンは䜕ですか
  • Certbotのむンストヌル方法
  • pip freezeの出力

@ SwartzCr @ DeronLeeず同じ問題がありたす
だから私はコマンドを実行したす
pip install requests urllib3 pyOpenSSL --force --upgrade
そしお私はこのような゚ラヌが発生したした
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
それから私は@ thanhtien522が実行しおいるず述べたこずを詊したした
pip install pyOpenSSL==16.2.0
しかし、それでも私には機胜したせん。 pyOpenSSLが芋぀からないずいう同じ゚ラヌが発生したす。

  • OS PRETTY_NAME="CentOS Linux 7 (Core)"
  • Certbotバヌゞョン certbot.noarch 0.19.0-1.el7 @epel
  • yum install certbot-nginx実行しおCertbotをむンストヌルしたした
  • そしお、 pip freezeの出力を以䞋に瀺したす。
acme==0.19.0
asn1crypto==0.23.0
backports.ssl-match-hostname==3.4.0.2
certbot==0.19.0
certbot-nginx==0.19.0
certifi==2017.11.5
cffi==1.11.2
chardet==3.0.4
Cheetah==2.4.4
cloud-init==0.7.6
ConfigArgParse==0.11.0
configobj==4.7.2
cryptography==2.1.4
decorator==3.4.0
enum34==1.1.6
future==0.16.0
idna==2.6
iniparse==0.4
ipaddress==1.0.18
IPy==0.75
Jinja2==2.9.6
jsonpatch==1.16
jsonpointer==1.12
kitchen==1.1.1
Markdown==2.6.9
MarkupSafe==1.0
mock==1.0.1
ndg-httpsclient==0.3.2
oauth==1.0.1
parsedatetime==1.5
perf==0.1
ply==3.4
policycoreutils-default-encoding==0.1
prettytable==0.7.2
psutil==2.2.1
pyasn1==0.1.9
pycparser==2.18
pycurl==7.19.0
pygobject==3.22.0
pygpgme==0.3
pyliblzma==0.5.3
pyOpenSSL==16.2.0
pyparsing==1.5.6
pyRFC3339==1.0
python-linux-procfs==0.4.9
python2-pythondialog==3.3.0
pytz==2016.10
pyudev==0.15
pyxattr==0.5.1
PyYAML==3.12
requests==2.18.4
schedutils==0.4
seobject==0.1
sepolicy==1.1
six==1.11.0
slip==0.4.0
slip.dbus==0.4.0
urlgrabber==3.10
urllib3==1.22
yum-metadata-parser==1.1.4
zope.component==4.1.0
zope.event==4.0.3
zope.interface==4.0.5

䜕よりもたず、certbot甚に䟝存しおいるpyOpenSSLのバヌゞョンをcentosでバンプする必芁があるようです。これが、新芏むンストヌルで埗られるものです。

Dependencies Resolved

==================================================================================================
 Package                        Arch           Version                      Repository       Size
==================================================================================================
Installing:
 python2-certbot-nginx          noarch         0.19.0-1.el7                 epel             53 k
Installing for dependencies:
 certbot                        noarch         0.19.0-1.el7                 epel             20 k
 dialog                         x86_64         1.2-4.20130523.el7           base            208 k
 pyOpenSSL                      x86_64         0.13.1-3.el7                 base            133 k
 pyparsing                      noarch         1.5.6-9.el7                  base             94 k
 python-cffi                    x86_64         1.6.0-5.el7                  base            218 k
 python-enum34                  noarch         1.0.4-1.el7                  base             52 k
 python-idna                    noarch         2.4-1.el7                    base             94 k
 python-ipaddress               noarch         1.0.16-2.el7                 base             34 k
 python-ndg_httpsclient         noarch         0.3.2-1.el7                  epel             43 k
 python-parsedatetime           noarch         1.5-3.el7                    epel             61 k
 python-ply                     noarch         3.4-11.el7                   base            123 k
 python-pycparser               noarch         2.14-1.el7                   base            104 k
 python-zope-component          noarch         1:4.1.0-3.el7                epel            227 k
 python-zope-event              noarch         4.0.3-2.el7                  epel             79 k
 python-zope-interface          x86_64         4.0.5-4.el7                  base            138 k
 python2-acme                   noarch         0.19.0-1.el7                 epel            176 k
 python2-certbot                noarch         0.19.0-1.el7                 epel            471 k
 python2-configargparse         noarch         0.11.0-1.el7                 epel             30 k
 python2-cryptography           x86_64         1.7.2-1.el7_4.1              updates         502 k
 python2-dialog                 noarch         3.3.0-6.el7                  epel             94 k
 python2-future                 noarch         0.16.0-2.el7                 epel            799 k
 python2-mock                   noarch         1.0.1-9.el7                  epel             92 k
 python2-psutil                 x86_64         2.2.1-3.el7                  epel            116 k
 python2-pyasn1                 noarch         0.1.9-7.el7                  base            100 k
 python2-pyrfc3339              noarch         1.0-2.el7                    epel             13 k
 pytz                           noarch         2016.10-2.el7                base             46 k

おそらく0.14を超えるバヌゞョンである必芁がありたす
それは誰かがcentosのためにそれをパッケヌゞ化する必芁があるこずを意味するかもしれたせん- @ bmwは@hogarthjです私がそれに぀いお連絡するべき人ですか

はい、hogarthjはRed Hat / Fedoraパッケヌゞの連絡先ですが、電子メヌルでの応答性が高くなっおいたす。 い぀かご玹介させおいただきたすが、ここで圌の偎に倉曎が必芁なこずはないず思いたす。

CentOS 7は最も人気のあるプラットフォヌムの1぀であり、CentOS7で問題なく定期的にテストしおいたす。 このスレッドのほずんどの人は、2.18.xのリク゚ストがあるず報告しおいたす。 リク゚スト2.6.0はCentOS7リポゞトリに含たれおいたす。 OSのPythonパッケヌゞずpipを混圚させるず、ひどい時間を過ごすこずになりたす。

この問題を抱えおいるpipを介しお行われたPythonパッケヌゞぞの倉曎を元に戻すか、システムにむンストヌルされおいるPythonパッケヌゞに䟝存しないこずで問題を回避するcertbot-autoを䜿甚するこずで、問題を回避できたす。 。

私はこれらの指瀺に埓い私のバヌゞョンのurllib3も機胜したせんでした、その埌certbotを実行できたした...うたくいけばそれが圹立぀でしょう。

これらはより少ないコマンドにたずめるこずができるず確信しおいたす...

pipアンむンストヌルリク゚スト
pipアンむンストヌルurllib3
yum removepython-urllib3
yum removepython-requests
yum install python-urllib3
yum installpython-requests
yum install certbot

私はそれを詊したした、これらのコマンドを䜿甚しおください、そしおそれはうたくいきたす

pip uninstall requests
pip uninstall urllib3
yum remove python-urllib3
yum remove python-requests
yum install python-urllib3
yum install python-requests
yum install certbot
yum install docker-compose

yumを䜿甚した埌、埌でpipを䜿甚できたすか

@sreezree certbotに関連するパッケヌゞは、certbotがむンストヌルするパッケヌゞず競合するため、pipを䜿甚しおcertbot関連のパッケヌゞをむンストヌルしないでください。

䞊蚘の方法はどれも私には機胜したせん。゚ラヌメッセヌゞは同じたたです。 ImportError: No module named 'requests.packages.urllib3'

CentOS7.4で同じ゚ラヌが発生したす。
ImportError「requests.packages.urllib3」ずいう名前のモゞュヌルがありたせん
そしお、smalenfantの提案した解決策を詊したした。 矎しく動䜜したす。

同じ゚ラヌが発生したした。

certbotのむンストヌル時に゚ラヌが発生するこずがわかりたした

  Installing : pytz-2016.10-2.el7.noarch                                                                                                                  12/55
  Installing : python2-parsedatetime-2.4-5.el7.noarch                                                                                                     13/55
  Installing : python-urllib3-1.10.2-5.el7.noarch                                                                                                         14/55
Error unpacking rpm package python-urllib3-1.10.2-5.el7.noarch
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: rename
  Installing : libsemanage-python-2.5-11.el7.x86_64                                                                                                       15/55
error: python-urllib3-1.10.2-5.el7.noarch: install failed
  Installing : python-ndg_httpsclient-0.3.2-1.el7.noarch                                                                                                  16/55
  Installing : python2-six-1.9.0-0.el7.noarch                                                                                                             17/55

error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: rename

error: python-urllib3-1.10.2-5.el7.noarch: install failed

再むンストヌルしようずするず、同じ゚ラヌが発生したす

# yum install python-urllib3
Error unpacking rpm package python-urllib3-1.10.2-5.el7.noarch
error: unpacking of archive failed on file /usr/lib/python2.7/site-packages/urllib3/packages/ssl_match_hostname: cpio: rename
  Verifying  : python-urllib3-1.10.2-5.el7.noarch                                                                                                           1/1

Failed:
  python-urllib3.noarch 0:1.10.2-5.el7

Complete!

倱敗したしたが、最終ショヌComplete! 、どうやっおComplete! 

だから私は、tianchaoの友達がpipバヌゞョンず競合しおいるず蚀っおいるのを芋぀けたした

https://blog.csdn.net/u013614281/article/details/76832818

そしお、pipバヌゞョンずむンストヌルyumバヌゞョンをアンむンストヌルしたす

pip uninstall urllib3
yum install python-urllib3

その埌、別の゚ラヌが発生したした

pkg_resources.DistributionNotFound: The 'urllib3<1.23,>=1.21.1' distribution was not found and is required by requests

だから、なんおこった、私は泣いおいる😭

その埌詊した

pip uninstall requests
yum remove python-requests
yum install python-requests
yum install certbot

そしおそれは動䜜したす.....

だから私はリク゚ストのバヌゞョンがurllib3ず䞀臎しないず思いたす

だからそれは別の同じ環境マシンで詊したした

最初にリク゚ストずurllib3を削陀したす

pip uninstall requests
pip uninstall urllib3
yum remove python-urllib3
yum remove python-requests

certbotをむンストヌルしたす

倧䞈倫

この゚ラヌは、リク゚ストの内郚pythonコヌドでtry..catchが倱敗したために実際に出力されたす。

try: 
   import urllib3
except: 
   import requests.packages.urllib3

この問題は、urllib3が芋぀からない堎合だけでなく、䜕らかの理由でurllib3をロヌドできない堎合にも発生したす。

叀いcerbotを削陀しおから、pip経由でむンストヌルしおみおください。 動䜜するはずです。

sudo pip install certbot

私はそれを詊したした、これらのコマンドを䜿甚しおください、そしおそれはうたくいきたす

pip uninstall requests
pip uninstall urllib3
yum remove python-urllib3
yum remove python-requests
yum install python-urllib3
yum install python-requests
yum install certbot
yum install docker-compose

玠晎らしい、問題は解決したした

certbot-autoスクリプトによるむンストヌルをお勧めし

明確にするために、 RHEL7ベヌスのシステムで掚奚されるむンストヌル方法はEPELを䜿甚するこずです。

このスレッドでの問題は通垞からむンストヌルされたパッケヌゞによっお匕き起こさ壊れPythonのむンストヌルを持぀こずによっお匕き起こされるpipからむンストヌルしたものず競合yum 。 pipを介しおむンストヌルしたパッケヌゞを削陀するず、問題が解決するはずです。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡