ImportError: Python uchun docker SDK ni import qilishda ssl_match_hostname nomli modul yo'q

Python uchun Docker SDK'ni ishlatish uchun harakat qilaman Python buyruq faylida import docker ga o'tish uchun ImportError kodini keltirib chiqaradi.

Traceback (most recent call last):
  File "/home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils/docker_utils.py", line 1, in 
    import docker
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/__init__.py", line 6, in 
    from .client import Client, AutoVersionClient, from_env # flake8: noqa
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/client.py", line 11, in 
    from . import api
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/api/__init__.py", line 2, in 
    from .build import BuildApiMixin
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/api/build.py", line 9, in 
    from .. import utils
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/utils/__init__.py", line 2, in 
    from .utils import (
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/utils/utils.py", line 19, in 
    from .. import tls
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/tls.py", line 5, in 
    from .ssladapter import ssladapter
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/ssladapter/__init__.py", line 1, in 
    from .ssladapter import SSLAdapter # flake8: noqa
  File "/home/kurt/.local/lib/python2.7/site-packages/docker/ssladapter/ssladapter.py", line 21, in 
    from backports.ssl_match_hostname import match_hostname
ImportError: No module named ssl_match_hostname
[Finished in 0.2s with exit code 1]
[shell_cmd: python -u "/home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils/docker_utils.py"]
[dir: /home/kurt/dev/clones8/ipercron-compose/furion/iclib/tests/test_utils]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin]

G'alati narsa import boshqa joylarda, masalan, iPython so'rovida ishlaydi:

Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
Type "copyright", "credits" or "license" for more information.

IPython 2.4.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: import docker

In [2]: 

Nima uchun import birinchi ishda ishlamaydi?

1
Pythonning 2 ta versiyasi mavjud, lekin men shuni eslay olamanki, pip3 install docker ni sinab ko'rmadim.
qo'shib qo'ydi muallif Kurt Peek, manba
Pythonning 2 versiyasi bormi? Python3 da docker ni o'rnatishga harakat qildingizmi? F.e., pip3 o'rnatish docker ?
qo'shib qo'ydi muallif Dmitry, manba

8 javoblar

Mahalliy tizimda o'rnatilgan backports.ssl-match-hostname bor edi, bu uning tizim darajasida o'rnatilishiga to'sqinlik qildi. Buni men hal qildim

sudo pip uninstall backports.ssl-match-hostname

dan so'ng

sudo pip install --upgrade docker
4
qo'shib qo'ydi

Mahalliy tizimda o'rnatilgan backports.ssl-match-hostname bor edi, bu uning tizim darajasida o'rnatilishiga to'sqinlik qildi. Buni men hal qildim

sudo pip uninstall backports.ssl-match-hostname

dan so'ng

sudo pip install --upgrade docker
4
qo'shib qo'ydi

Mahalliy tizimda o'rnatilgan backports.ssl-match-hostname bor edi, bu uning tizim darajasida o'rnatilishiga to'sqinlik qildi. Buni men hal qildim

sudo pip uninstall backports.ssl-match-hostname

dan so'ng

sudo pip install --upgrade docker
4
qo'shib qo'ydi

Dockerni yangilash men uchun muammoni hal qilmadi. Buning o'rniga, Ubuntu to'plami sifatida arxivlarni o'rnatish kerak edi (va pribordan o'chirib tashlang):

sudo pip uninstall backports.ssl-match-hostname
sudo apt-get install python-backports.ssl-match-hostname
0
qo'shib qo'ydi

Dockerni yangilash men uchun muammoni hal qilmadi. Buning o'rniga, Ubuntu to'plami sifatida arxivlarni o'rnatish kerak edi (va pribordan o'chirib tashlang):

sudo pip uninstall backports.ssl-match-hostname
sudo apt-get install python-backports.ssl-match-hostname
0
qo'shib qo'ydi

Uni boshqa hujjatlar to'plamlari bilan sobitgacha o'rnatmangiz (agar tuzatmoqchi bo'lsa)

https:// ko'rinishida ko'rinadi. bitbucket.org/ambv/configparser/issues/17/importerror-when-used-with-other-backports#comment-36669436 :

Mixay Gorniy

     

Xo'sh, men bu erda asosiy masala haqida xabar berishni istadim, lekin shunga o'xshash   boshqa allaqachon bu qiyin yo'lni o'rgandim.

     

Uzoq qisqacha hikoya, siz hech qachon pkg_resources nom maydonlarini aralashtirib bo'lmaydi   pkgutil nomlari. U Pythonning qadoqlash bo'yicha qo'llanmasida tushuntirilgan.   Ikkalani ham olib kirishga urinish ehtimol tasodifga sabab bo'ladigan eng yaxshi yo'ldir   har bir kishi uchun buzilish. Siz ulardan birini tanlashingiz va uni ishlatishingiz kerak   

     

Endi, zaxira to'plami faqat da'vo qilish uchun xizmat qiladi   nom maydoni va u pkgutildan foydalanadi. Shuning uchun men bir narsani tavsiya qilaman.

0
qo'shib qo'ydi
Muqaddas shit, men bir oz murakkabman
qo'shib qo'ydi muallif Gromish, manba

Uni boshqa hujjatlar to'plamlari bilan sobitgacha o'rnatmangiz (agar tuzatmoqchi bo'lsa)

https:// ko'rinishida ko'rinadi. bitbucket.org/ambv/configparser/issues/17/importerror-when-used-with-other-backports#comment-36669436 :

Mixay Gorniy

     

Xo'sh, men bu erda asosiy masala haqida xabar berishni istadim, lekin shunga o'xshash   boshqa allaqachon bu qiyin yo'lni o'rgandim.

     

Uzoq qisqacha hikoya, siz hech qachon pkg_resources nom maydonlarini aralashtirib bo'lmaydi   pkgutil nomlari. U Pythonning qadoqlash bo'yicha qo'llanmasida tushuntirilgan.   Ikkalani ham olib kirishga urinish ehtimol tasodifga sabab bo'ladigan eng yaxshi yo'ldir   har bir kishi uchun buzilish. Siz ulardan birini tanlashingiz va uni ishlatishingiz kerak   

     

Endi, zaxira to'plami faqat da'vo qilish uchun xizmat qiladi   nom maydoni va u pkgutildan foydalanadi. Shuning uchun men bir narsani tavsiya qilaman.

0
qo'shib qo'ydi
Muqaddas shit, men bir oz murakkabman
qo'shib qo'ydi muallif Gromish, manba

Uni boshqa hujjatlar to'plamlari bilan sobitgacha o'rnatmangiz (agar tuzatmoqchi bo'lsa)

https:// ko'rinishida ko'rinadi. bitbucket.org/ambv/configparser/issues/17/importerror-when-used-with-other-backports#comment-36669436 :

Mixay Gorniy

     

Xo'sh, men bu erda asosiy masala haqida xabar berishni istadim, lekin shunga o'xshash   boshqa allaqachon bu qiyin yo'lni o'rgandim.

     

Uzoq qisqacha hikoya, siz hech qachon pkg_resources nom maydonlarini aralashtirib bo'lmaydi   pkgutil nomlari. U Pythonning qadoqlash bo'yicha qo'llanmasida tushuntirilgan.   Ikkalani ham olib kirishga urinish ehtimol tasodifga sabab bo'ladigan eng yaxshi yo'ldir   har bir kishi uchun buzilish. Siz ulardan birini tanlashingiz va uni ishlatishingiz kerak   

     

Endi, zaxira to'plami faqat da'vo qilish uchun xizmat qiladi   nom maydoni va u pkgutildan foydalanadi. Shuning uchun men bir narsani tavsiya qilaman.

0
qo'shib qo'ydi
Muqaddas shit, men bir oz murakkabman
qo'shib qo'ydi muallif Gromish, manba
Python
Python
372 ishtirokchilar

Bu guruh python dasturlash tilini muhokama qilish uchun. Iltimos, o'zingizni hurmat qiling va faqat dasturlash bo'yicha yozing. Botlar mavzusini @botlarhaqida guruhida muhokama qling! FAQ: @PyFAQ Offtopic: @python_uz_offtopic

Python offtopic group !
Python offtopic group !
150 ishtirokchilar

@python_uz gruppasining offtop gruppasi. offtop bo'lsa ham reklama mumkin emas ) Boshqa dasturlash tiliga oid gruppalar @languages_programming