Requests: urllib3 v1.25 지원

에 λ§Œλ“  2019λ…„ 04μ›” 23일  Β·  15μ½”λ©˜νŠΈ  Β·  좜처: psf/requests

urllib3 v1.25 지원 (였늘/μ–΄μ œ μΆœμ‹œ). ν‰μ†Œμ˜ 'λ‚΄ CIκ°€ λ§κ°€μ‘Œλ‹€'.

μš°λ¦¬κ°€ μ˜μ‘΄ν•˜λŠ” μ—¬λŸ¬ νŒ¨ν‚€μ§€(예: google.cloud.storage , azure.storage )μ—λŠ” pkg_resources.require('requests >= 2.18.0') $ λ₯Ό μ‚¬μš©ν•˜μ—¬ $ requests 에 λŒ€ν•œ μ—„κ²©ν•œ 버전 검사가 μžˆμŠ΅λ‹ˆλ‹€. requests λ₯Ό ν¬ν•¨ν•˜μ—¬ μ•„λž˜ μ²΄μΈμ—μ„œ μΆ©μ‘±λ˜μ§€ μ•Šμ€ 쒅속성은 검사에 μ‹€νŒ¨ν•˜κ³  μ˜ˆμ™Έλ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€. urllib3<1.25 λŠ” ν˜„μž¬ κ·ΈλŸ¬ν•œ 쒅속성 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.

μ˜ˆμƒ κ²°κ³Ό

κ°€μ Έμ˜¬ λ•Œ μ˜ˆμ™Έκ°€ λ°œμƒν•˜μ§€ μ•ŠμŒ

μ‹€μ œ κ²°κ³Ό

pkg_resources.ContextualVersionConflict: (urllib3 1.25 (/usr/local/lib/python3.6/dist-packages), Requirement.parse('urllib3<1.25,>=1.21.1'), {'requests'})

The above exception was the direct cause of the following exception:
ImportError: ``requests >= 2.18.0`` is required by the ``google.resumable_media.requests`` subpackage.
It can be installed via
    pip install google-resumable-media[requests].

λ²ˆμ‹ 단계

pip3 install sentry-sdk google-cloud-storage
>>> from google.cloud import storage



md5-cbc1943a1d569f335059802806d81765



/home/laurie/env-tmp/lib/python3.6/site-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.25) or chardet (3.0.4) doesn't match a supported version!
  RequestsDependencyWarning)
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": ""
  },
  "idna": {
    "version": "2.8"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.6.7"
  },
  "platform": {
    "release": "4.18.0-17-generic",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "",
    "version": null
  },
  "requests": {
    "version": "2.21.0"
  },
  "system_ssl": {
    "version": "1010100f"
  },
  "urllib3": {
    "version": "1.25"
  },
  "using_pyopenssl": false
}

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‹€μŒμ€ μ•„λ§ˆλ„ λ©μ²­ν•œ μ§ˆλ¬Έμž…λ‹ˆλ‹€. μš”μ²­μ΄ urllib3λ₯Ό < 1.25둜 μ œν•œν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ‹€λ₯Έ λ§Žμ€ pip 쒅속성이 μ΅œμ†Œ ν—ˆμš© urllib3 버전을 계속 μ¦κ°€μ‹œν‚¬ 것이기 λ•Œλ¬Έμ— λ‹€μŒ 두 가지λ₯Ό 보μž₯ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

  1. urllib3의 λͺ¨λ“  λΆ€ 버전 λ²”ν”„λŠ” μš”μ²­μ— μ˜μ‘΄ν•˜λŠ” λ§Žμ€ ν”„λ‘œμ νŠΈλ₯Ό μ€‘λ‹¨μ‹œν‚΅λ‹ˆλ‹€(예: μ£Όμš” Google λ˜λŠ” Microsoft Azure νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒ).
  2. urllib3의 λͺ¨λ“  λ§ˆμ΄λ„ˆ 버전 λ²”ν”„λŠ” urllib3의 μƒˆ 버전을 ν—ˆμš©ν•˜κΈ° μœ„ν•œ μƒˆ 릴리슀의 μš”μ²­μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

urllib3λŠ” μ’…μ’… 버전 관리λ₯Ό μ‹ λ’°ν•˜λŠ” 것에 λŒ€ν•΄ κ±±μ •ν•  μ •λ„λ‘œ μ€‘λŒ€ν•œ 변경을 μˆ˜ν–‰ν•©λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ λ‹€λ₯Έ 걱정거리가 μžˆμŠ΅λ‹ˆκΉŒ?

λͺ¨λ“  15 λŒ“κΈ€

이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” ν’€ μš”μ²­μ€ #5065 및 #4961을 λ‹«μ•„μ•Ό ν•©λ‹ˆλ‹€.

λ˜ν•œ μœ„μ˜ μž¬μƒμ‚° μ˜ˆμ œμ— λŒ€ν•œ μ†”λ£¨μ…˜μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

pip3 install sentry-sdk google-cloud-storage 'urllib3<1.25'

이미 μž‘μ—… 쀑인 PR이 μžˆμŠ΅λ‹ˆλ‹€: https://github.com/kennethreitz/requests/pull/5063

μ‹œμ²­ν•˜μ‹œλŠ” 뢄듀은 μ–ΈκΈ‰ν•œ λŒ€λ‘œ urllib3 v1.25.2μ—μ„œ 차단 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

@nateprewitt FYI 1.25.2κ°€ 곧 μΆœμ‹œλ  μ˜ˆμ •μž…λ‹ˆλ‹€. 1.25.0을 ν—ˆμš©ν•˜μ§€ μ•Šκ³  1.25.1도 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

urllib3 버전 1.25κ°€ 릴리슀된 4μ›” 22일뢀터 CI νŒŒμ΄ν”„λΌμΈμ— [integration_py3_docker_metric] 19-04-29:10:26:57 ERROR [clipper_metric_docker.py:127] Failed to parse: http://localhost:44328/api/v1/series?match[]=clipper_mc_parse_time_ms_sum 였λ₯˜κ°€ λ°œμƒν•˜κΈ° μ‹œμž‘ν•©λ‹ˆλ‹€. 이것이 이 λ¬Έμ œμ™€ 관련이 μžˆλ‹€κ³  μƒκ°ν•˜μ‹­λ‹ˆκΉŒ?

@rkooo567 , urllib3<1.25 μΆ”κ°€ μš”κ΅¬ μ‚¬ν•­μœΌλ‘œ CIλ₯Ό μ‹€ν–‰ν•΄ λ³΄μ…¨μŠ΅λ‹ˆκΉŒ?

@EpicWink λ„€. 그리고 그것은 문제λ₯Ό ν•΄κ²°ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. λ˜ν•œ urllib3==1.25.2 도 문제λ₯Ό ν•΄κ²°ν•œλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€.

1.24.X μ‚¬μš©μžμ˜ CRLF μ£Όμž… 문제만 μˆ˜μ •ν•˜λŠ” urllib3 1.24.3이 λ¦΄λ¦¬μŠ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ μ•„λ§ˆλ„ λ©μ²­ν•œ μ§ˆλ¬Έμž…λ‹ˆλ‹€. μš”μ²­μ΄ urllib3λ₯Ό < 1.25둜 μ œν•œν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ‹€λ₯Έ λ§Žμ€ pip 쒅속성이 μ΅œμ†Œ ν—ˆμš© urllib3 버전을 계속 μ¦κ°€μ‹œν‚¬ 것이기 λ•Œλ¬Έμ— λ‹€μŒ 두 가지λ₯Ό 보μž₯ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

  1. urllib3의 λͺ¨λ“  λΆ€ 버전 λ²”ν”„λŠ” μš”μ²­μ— μ˜μ‘΄ν•˜λŠ” λ§Žμ€ ν”„λ‘œμ νŠΈλ₯Ό μ€‘λ‹¨μ‹œν‚΅λ‹ˆλ‹€(예: μ£Όμš” Google λ˜λŠ” Microsoft Azure νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λŠ” μ‚¬λžŒ).
  2. urllib3의 λͺ¨λ“  λ§ˆμ΄λ„ˆ 버전 λ²”ν”„λŠ” urllib3의 μƒˆ 버전을 ν—ˆμš©ν•˜κΈ° μœ„ν•œ μƒˆ 릴리슀의 μš”μ²­μ΄ ν•„μš”ν•©λ‹ˆλ‹€.

urllib3λŠ” μ’…μ’… 버전 관리λ₯Ό μ‹ λ’°ν•˜λŠ” 것에 λŒ€ν•΄ κ±±μ •ν•  μ •λ„λ‘œ μ€‘λŒ€ν•œ 변경을 μˆ˜ν–‰ν•©λ‹ˆκΉŒ? μ•„λ‹ˆλ©΄ λ‹€λ₯Έ 걱정거리가 μžˆμŠ΅λ‹ˆκΉŒ?

λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ˜ νŠΈλž˜μ»€μ—μ„œ 이 λ¬Έμ œμ— λŒ€ν•œ 참쑰의 수λ₯Ό 기반으둜 ν•˜λ©΄ λ‚˜μ€‘μ—λ³΄λ‹€ 빨리 이 λ¬Έμ œμ— λŒ€ν•œ 해결책을 κ³ λ§™κ²Œ μƒκ°ν•˜λŠ” λ‹€λ₯Έ ν”„λ‘œμ νŠΈ μœ μ§€ κ΄€λ¦¬μžκ°€ 많이 μžˆμ„ 것이라고 ν™•μ‹ ν•©λ‹ˆλ‹€... :) (문제 μ°Έμ‘°λŠ” ' t μ „μž 메일 μ•Œλ¦Όμ„ νŠΈλ¦¬κ±°ν•©λ‹ˆλ‹€.)

μž¬λ―Έμžˆλ‹€λ©΄ μš”μ²­μ„ μ‚¬μš©ν•˜κ³  urllib3λ₯Ό μ—…λ°μ΄νŠΈν•  수 μ—†λŠ” λͺ¨λ“  것을 μ‚΄νŽ΄λ³΄μ‹­μ‹œμ˜€. (μš°λ¦¬λŠ” 일뢀 μˆ˜λ™ 검사λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€)

http://logs.openstack.org/36/658636/3/check/requirements-tox-py27-check-uc/48d2334/job-output.txt.gz#_2019 -05-14_06_33_55_887702

#5092둜 ν•΄κ²°λ˜μ—ˆμœΌλ©° ν˜„μž¬ pypiμ—μ„œ λ¦΄λ¦¬μŠ€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ ν•œ 번 κ°μ‚¬ν•©λ‹ˆλ‹€ @EpicWink

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰