Pip: рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдирд╡ре░ 2020  ┬╖  79рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pip

рддреБрдо рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛ?

Weblate рдХреЗ рд▓рд┐рдП CI рдиреМрдХрд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рд╕реЗ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛-рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

pip install -r requirements-min.txt рдХрдорд╛рдВрдб рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рд▓реВрдк рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 20.3 рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд▓рдЧрд╛ред

рдЙрддреНрдкрд╛рджрди

Requirement already satisfied: google-auth<2.0dev,>=1.21.1 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (1.23.0)
Requirement already satisfied: pytz>dev in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from celery[redis]==4.4.5->-r requirements-min.txt (line 3)) (2020.4)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (1.52.0)
Requirement already satisfied: six>=1.9.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from bleach==3.1.1->-r requirements-min.txt (line 1)) (1.15.0)
Requirement already satisfied: protobuf>=3.12.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (3.14.0)
Requirement already satisfied: grpcio<2.0dev,>=1.29.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (1.33.2)
Requirement already satisfied: google-auth<2.0dev,>=1.21.1 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (1.23.0)
Requirement already satisfied: pytz>dev in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from celery[redis]==4.4.5->-r requirements-min.txt (line 3)) (2020.4)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (1.52.0)
Requirement already satisfied: six>=1.9.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from bleach==3.1.1->-r requirements-min.txt (line 1)) (1.15.0)
Requirement already satisfied: protobuf>=3.12.0 in /opt/hostedtoolcache/Python/3.7.9/x64/lib/python3.7/site-packages (from google-api-core[grpc]<2.0.0dev,>=1.22.0->google-cloud-translate==3.0.0->-r requirements-min.txt (line 63)) (3.14.0)

рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛рдирд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдм рддрдХ 3 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП, https://github.com/WeblateOrg/weblate/runs/1474960864?check_suite_focus=true рджреЗрдЦреЗрдВ)

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА

рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдлрд╝рд╛рдЗрд▓: рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ-min.txt

рдЬрдм рддрдХ рдпрд╣ рд▓реВрдк рд╕реЗ рдКрдкрд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ рддрдм рддрдХ рдЗрд╕рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗрдЯ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ ...

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдзрдиреНрдпрд╡рд╛рдж, @dstufftред

рдореИрдВ рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕рдорд╛рдзрд╛рди рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд╣рд▓рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдмрд┐рдВрджреБ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

  • рдпрджрд┐ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдк рдХреЛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рддреЛ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд░рд┐рдЬреЙрд▓реНрдпреВрд╢рди рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдкрдврд╝реЗрдВ рддрд╛рдХрд┐ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд┐рдк рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕ рдХреЗ рдХрд╛рд░рдг рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдЦрд░реНрдЪ рдХрд░реЗред

  • рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдкрд╛рдЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░реЗ, рддреЛ --no-deps рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЙрдирдХрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВред рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕реБрдзрд╛рд░ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкрдврд╝реЗрдВред

  • рдпрджрд┐ рдЖрдк рд╕рдорд╛рдзрд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдореВрд▓ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ --use-deprecated=legacy-resolver ред рдпрд╣ рддрдм рддрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рд╣рдо рдкрд╛рдЗрдк 21.0 рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддреЗ (рджреЗрдЦреЗрдВ рдбрд┐рдкреНрд░реЗрд╢рди рдЯрд╛рдЗрдорд▓рд╛рдЗрди )ред

рд╕рднреА 79 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдЖрдиреЗ рд╡рд╛рд▓реА рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ рдХреЗрдВрджреНрд░реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рддреА рд╣реИрдВ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╣рд░ рдПрдХ рдХрд╛ рдЕрдкрдирд╛ рдореБрджреНрджрд╛ рдЦрддреНрдо рд╣реЛ рдЬрд╛рдП рдпрд╛ рдЗрдзрд░-рдЙрдзрд░ рдмрд┐рдЦрд░ рдЬрд╛рдПред

@jcrist рдиреЗ https://github.com/pypa/pip/issues/8664#issuecomment -735961391 рдореЗрдВ рдХрд╣рд╛

_рдиреЛрдЯ: рдореБрдЭреЗ рдпрд╣рд╛рдВ рдЯреНрд╡рд┐рдЯрд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред_

рд╣рдо ( рдкреНрд░реАрдлреЗрдХреНрдЯ ) рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдХреЗрд╡рд▓ 20.3 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИ)ред рд╣рдо рдкрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЕрдм тАЛтАЛ20+ рдорд┐рдирдЯ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИ (рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдПрдХ рдлрд┐рдирд┐рд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ), рдкрд╣рд▓реЗ рдпрд╣ рдЕрдзрд┐рдХрддрдо рдПрдХ рдпрд╛ рджреЛ рдорд┐рдирдЯ рдерд╛ред рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдмрдбрд╝реЗ рдЦреЛрдЬ рд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ (рдкреНрд░реАрдлреЗрдХреНрдЯ рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХрд╛ рднрд╛рд░ рд╣реИ, рд╕реАрдЖрдИ рдФрд░ рдХреБрдЫ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрди рд╕рднреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ) рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ред

рдореИрдВрдиреЗ рд╡рд░реНрдмреЛрдЬрд╝ рд▓реЙрдЧ рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдХрд┐ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдкреИрдХреЗрдЬ рдХреНрдпрд╛ рдереЗ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рдореИрдВ setuptools рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде boto3 рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреБрдирд░реНрдкреНрд░рдпрд╛рд╕ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ/рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рд╣рдо рдЪреАрдЬреЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╣рдо рдЕрдкрдиреЗ setup.py рдореЗрдВ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдУрд╡рд░рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реЗ рдиреМрд╕рд┐рдЦрд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдЬреЛ pip install prefect[all_extras] рдХрд░рдиреЗ рдХреЗ рдЖрджреА рд╣реИрдВ - рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрдЪрд┐рдд рд╕рдордп рдореЗрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдкреНрд░рд┐рдп рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЖрдЧреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рд╛рд╕реНрддрд╛ рдХреНрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рд░рди рд╕реЗ рд╡рд░реНрдмреЛрдЬрд╝ рд▓реЙрдЧ рдЕрдкрд▓реЛрдб рдХрд┐рдП рд╣реИрдВ (рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдХрдИ рдорд┐рдирдЯреЛрдВ рдХреЗ рдмрд╛рдж рдорд╛рд░реЗ рдЧрдП)ред рдЕрдЧрд░ рд▓реЛрдЧ рдЦреБрдж рдЗрд╕реЗ рдЖрдЬрдорд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреМрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

pip install "git+https://github.com/PrefectHQ/prefect.git#egg=prefect[all_extras]"

рдпрд╣рд╛рдВ рдХреЛрдИ рднреА рд╕рд▓рд╛рд╣ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧреА - рдЕрднреА рдХреЗ рд▓рд┐рдП рд╣рдо рдкрд╛рдЗрдк рдХреЛ 20.2.4 рдкрд░ рдкрд┐рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЕрдзрд┐рдХ рд▓реЙрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛ рд░рд╣реА рд╣реИред

рдкрд╛рдЗрдк рдФрд░ рдкреАрдкрд╛ рдкрд░ рдЖрдк рд╕рднреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрдиреНрд╣реЗрдВ https://github.com/pypa/pip/issues/9185 . рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж, @dstufftред

рдореИрдВ рдпрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕рдорд╛рдзрд╛рди рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд╣рд▓рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдмрд┐рдВрджреБ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

  • рдпрджрд┐ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдк рдХреЛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рддреЛ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд░рд┐рдЬреЙрд▓реНрдпреВрд╢рди рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдкрдврд╝реЗрдВ рддрд╛рдХрд┐ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд┐рдк рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕ рдХреЗ рдХрд╛рд░рдг рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдЦрд░реНрдЪ рдХрд░реЗред

  • рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдкрд╛рдЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░реЗ, рддреЛ --no-deps рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЙрдирдХрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВред рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕реБрдзрд╛рд░ рдкрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкрдврд╝реЗрдВред

  • рдпрджрд┐ рдЖрдк рд╕рдорд╛рдзрд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдореВрд▓ рдХрд╛рд░рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╕рдордп рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ --use-deprecated=legacy-resolver ред рдпрд╣ рддрдм рддрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рд╣рдо рдкрд╛рдЗрдк 21.0 рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддреЗ (рджреЗрдЦреЗрдВ рдбрд┐рдкреНрд░реЗрд╢рди рдЯрд╛рдЗрдорд▓рд╛рдЗрди )ред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ pip install 'google-cloud-translate==3.0.0' 'requests==2.20.0' 'setuptools==36.0.1' рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #9185 рдЗрд╕реЗ рд╕реБрдзрд╛рд░ рд╕рдХрддрд╛ рд╣реИред

рд▓реАрдЧреЗрд╕реА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдЗрд╕ рдкрд░ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд░рд╛рд╣рдд рджреЗрддрд╛ рд╣реИ: google-auth 1.23.0 requires setuptools>=40.3.0, but you'll have setuptools 36.0.1 which is incompatible. ред

рдЗрд╕рдХреЗ рдкреНрд░рддрд┐ рдПрдХ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИ, 100 рдмреИрдХрдЯреНрд░реИрдХ (рдпрд╛ рдХреБрдЫ) рдХреЗ рдмрд╛рдж рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд░реБрдХрдирд╛ "рдЕрд░реЗ, рдкреАрдЖрдИрдкреА $ рдкреИрдХреЗрдЬ рдкрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЗ рдХрд╛рд░рдг рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ"ред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрдирд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдирдЬрд╝рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдмрдирд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЕрдирдЬрд╝рд┐рдк рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?

рдЗрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдереАред рдЬрдм рддрдХ рд╣рдо рдХреБрдЫ рдмрд╣реБрдд рдЦрд░рд╛рдм рдЧреНрд░рд╛рдл рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд╣реАрдВ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ ...: рд╢реНрд░рдЧ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд┐рдк рдХреЛ рдкрд┐рди рджреЗрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИрдВред

рдореИрдВ рдЕрдкрдиреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЙрд╕ Google рдлрд╝реЙрд░реНрдо рдХреЛ рднрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдирд┐рд░реНрдорд╛рдг рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрд┐рди рдЪреАрдЬреЛрдВ рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рд▓рдЧрднрдЧ 90 рд╕реЗрдХрдВрдб рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдерд╛, рдЕрдм рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ рдмрд┐рд▓реНрдб рдХрд╛ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╣рдо рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрди рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдорд┐рдирдЯ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╕рднреА рдирд┐рд░реНрдорд╛рдгреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рджрд░реНрджрдирд╛рдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╣рдордиреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рднреА рдмрд┐рд▓реНрдб рдкрд░ рд▓реАрдЧреЗрд╕реА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рд╣реИред

рдЗрд╕ рдкреГрд╖реНрда рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдХреГрдкрдпрд╛ https://pip.pypa.io/en/stable/user_guide/#dependency -resolution-backtracking рдкрдврд╝реЗрдВред

рдореБрдЭреЗ рдЯреНрд╡рд┐рдЯрд░ рд╕реЗ рдХреБрдЫ рдФрд░ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдЪрд╛рд░ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЪрд╛рд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:

  1. рдмрд╕ рдЗрд╕рдХреЗ рдЦрддреНрдо рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
  2. рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреЗрдХ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  3. рдЙрди рдкрд░реАрдХреНрд╖рдг рддреНрд░реБрдЯрд┐ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдирдИ "constraints.txt" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  4. "рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди" рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рдХрд░реЗрдВ

рдЗрд╕рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╡рд╕реНрддреБрддрдГ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдПрдХ рдорд╣рд╛рдХрд╛рд╡реНрдп рдЯрди рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдмрд╛рджрд▓ рдХреЗ рдпреБрдЧ рдореЗрдВ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ-

  • рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╣рд╛рд░реНрдбрдбреНрд░рд╛рдЗрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  • рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреА рдЦрдкрдд рд╣реЛрддреА рд╣реИ
  • рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдбреАрдХрдВрдкреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╕рдм рдХреБрдЫ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ

рдЗрди рд╕рднреА рдореЗрдВ рдкреИрд╕рд╛ рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдЯреАрдХ рд╕рдВрддреБрд▓рди рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ (рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ рдЬреИрд╕реЗ рдЬрд╛рдирд╡рд░ рд╕реЗ рдЬреВрдЭ рд░рд╣реЗ рд▓реЛрдЧ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдФрд░ рдмреИрдВрдбрд╡рд┐рдбреНрде рдкрд░ рдШреБрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд┐рд▓реНрдб рд╕рдордп рдХреЗ рд▓рд┐рдП рдмрд┐рд▓ рдорд┐рд▓рддрд╛ рд╣реИ)ред

рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдорд╣рдВрдЧреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рд╕рдордп рдмрд░реНрдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ рдЬреЛ (рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ) 90 рдХреЗ рджрд╢рдХ рдореЗрдВ рд╣реЛрддрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдЕрдм 20 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ (рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред

рд╣рдо рд╕рдЪрдореБрдЪ рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рдмрд╛рдзрд╛рдПрдВ рдЕрддреНрдпрдВрдд рдмреЛрдЭрд┐рд▓ рд╣реИрдВ

рдпрд╣ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕реЗрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдорд╛рдиреНрдп рджреЗрд╡ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдм рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдкреГрд╖реНрда рдкрд░ рд╕рд▓рд╛рд╣ рдЕрддреНрдпрдВрдд рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реА рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдЬрдм рддрдХ рдЖрдкрдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рддрдм рддрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдЕрдзрд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЬрдЯрд┐рд▓ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдЯрд┐рд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдЕрднреА рд╣рдореЗрдВ setup.py , requirements.txt , setup.cfg , pyproject.toml рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдм constraints.txt рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдмрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдкрд░ рдФрд░ рднреА рдЕрдзрд┐рдХ рдмреЛрдЭ (рдФрд░ рднреНрд░рдо)ред

рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЬрд╛рдБрдЪреЗ рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдкреИрдорд╛рдирд╛ рдирд╣реАрдВ рд╣реИ

рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд▓реЗрдХрд┐рди рдЙрди рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЙрди рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЦреБрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдореИрдВ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░реЗ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдореЗрдВ рд╡рд┐рд╕реНрдлреЛрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЙрдирдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдирдХрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ред рдХреЙрдкреА/рдкреЗрд╕реНрдЯ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрди рдмрд╛рдзрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рдмреЛрдЭ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд▓реЛрдЧ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реАрдзреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЧрддрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдмрд▓реНрдХрд┐ рд╕рдВрдЧрддрддрд╛ рдФрд░ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИрдВред рдЗрд╕рд╕реЗ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЫреЛрдЯреЗ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдереАред

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ https://github.com/pypa/warehouse/issues/8254

рдкрд╛рдЗрдкрд╛/рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ#8254

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдФрд░ рдЬрдм рдкреАрдИрдкреА 643 рд╕реНрд╡реАрдХреГрдд рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдПрдХ sdist рд╕рдорддреБрд▓реНрдпред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдПрдХ рдорд╣рд╛рдХрд╛рд╡реНрдп рдЯрди рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рд╕реАрдзреЗ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬрд╛рдирдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ (рдФрд░ рд╕реНрд░реЛрдд рд╡рд┐рддрд░рдг, рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдкреИрдХреЗрдЬ .

рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреАрдЖрдИрдкреА рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреИрд╢ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реАрдЖрдИ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкреАрдЖрдИрдкреА рдХреЗ рдХреИрд╢ рдХреЛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВ?) рдкреНрд▓рд╕ рд╕рд╛рдЗрдб рдкрд░, рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ (рдЬрд╣рд╛рдВ " рд╕реНрдкрд╖реНрдЯ" рдкреИрдХреЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд╕рдВрдж рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реИ), рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд╣рд╛рдВ рд╡реИрд╕реЗ рднреА рдХреЛрдИ рд╡реИрдз рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╣реЛрдЧрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдорд╛рдиреНрдп рд╕реЗрдЯ рдХреЛ рдЦреБрд╢реА рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ "рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдирдпрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛" рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдкреБрд░рд╛рдирд╛ рдПрдХ рдЪреБрдкрдЪрд╛рдк рдЯреВрдЯрд╛ рд╣реБрдЖ рд╕рд╛рдорд╛рди рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ")ред

рдпрд╣ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдкреГрд╖реНрдарднреВрдорд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

@tedivm рдХреГрдкрдпрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реЗ рдЕрд▓рдЧ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pip-tools рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдмрд┐рдВрджреБ 4 рд╣реИ - "рд╕реНрдерд╛рдиреАрдп" рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк рдХреЗрд╡рд▓ рдкрд┐рди рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рдеред

рджрд░рдЕрд╕рд▓, рдпрд╣ рджреЗрдЦрдирд╛ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдпреЛрдЧ рд╣реЛрдЧрд╛ред рдпреЗ рдкреИрдереЛрд▓реЙрдЬрд┐рдХрд▓ рдорд╛рдорд▓реЗ рдЬреЛ рд▓реЛрдЧред рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдЧрд░ рд╡реЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдПрдХ рдмрд╛рд░ рдкреВрд░рд╛ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ, рдХреИрд╢ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рддреЗрдЬрд╝ рд╣реИ? рдпрджрд┐ рдХреИрд╢ рдХреЗ рд╕рд╛рде рднреА рдпрд╣ рдЕрднреА рднреА рдШрдВрдЯреЛрдВ рд▓рдВрдмрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкреАрдкрд╛/рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ # 8254 рдЬреНрдпрд╛рджрд╛ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдо рдЕрднреА рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рднреА рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рдж рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрдирд╛ рдмрдВрдж рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рд╕рдордп рдХреЗ рд╕рд╛рде рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдзрд╛рд░рдгрд╛ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреАрдЫреЗ рдХреА рдУрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╣реА рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдордиреЗ рдХреБрдЫ рдРрд╕рд╛ рдХрд┐рдпрд╛:

  1. рдЬрдм рддрдХ рд╣рдо рд╕рдВрдХрд▓реНрдк X рдмрд╛рд░ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ, рддрдм рддрдХ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреАрдЫреЗ рдХреА рдУрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░реЗрдВред
  2. рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╢реЗрд╖ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЛ рдЖрдзрд╛ рдореЗрдВ рдХрд╛рдЯреЗрдВ рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
    2рдП. рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХреЛ "рдирдП" рдкрдХреНрд╖ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ (рдЗрд╕реЗ рдЖрдзреЗ рдореЗрдВ рдХрд╛рдЯреЗрдВ, рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЖрджрд┐)ред
    2рдмреА. рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХреЛ "рдкреБрд░рд╛рдиреЗ" рдкрдХреНрд╖ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ (рдЗрд╕реЗ рдЖрдзрд╛ рдореЗрдВ рдХрд╛рдЯреЗрдВ, рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЖрджрд┐)ред

рдпрд╣ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рддрд░рд╣ рд╕реЗ "рдХреНрд░рдордмрджреНрдз" рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ git bisect рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рд░реНрдп рдХрд░реЗрдЧреА? рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдирд╡реАрдирддрдо N рд╕рдВрд╕реНрдХрд░рдг рд╕рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреБрд░рд╛рдиреЗ рдЖрдзреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдЪреНрдЫреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдордзреНрдп рдЖрдзрд╛ "рдареАрдХ" рд╣реИред

рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдЪрд╛рд░ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХреЗ рдмрдЬрд╛рдп рд╣реИ, рдПрдХ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдмрд╛рд▓реНрдЯреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг "рдХрд╛рд░реНрдбрд┐рдиреИрд▓рд┐рдЯреА" рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред IOW, рдпрджрд┐ рдЗрд╕рдХреЗ рдмрд╣реБрдд рд╕реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдмрдХреЗрдЯ рдХрд░реЗрдВ, рдпрджрд┐ рдЗрд╕рдХреЗ рдХреБрдЫ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдмрдХреЗрдЯ рдХрд░реЗрдВ, рдЖрджрд┐ред рддрд╛рдХрд┐ рдЖрдк рд╕рдорд╕реНрдпрд╛ рд╕реНрдерд╛рди рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдлрд┐рд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рд╢реБрд░реВ рдХрд░реЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдкрд╣рд▓реЗ (рдпрд╛ рдЖрдЦрд┐рд░реА?) рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдПрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реЙрд▓реНрд╡рд░ рдХреЛ рдХреЗрд╡рд▓ рдЙрд╕ рдмрд╛рд▓реНрдЯреА рддрдХ рд╕реАрдорд┐рдд рдХрд░реЗрдВ (рдФрд░ рд╢рд╛рдпрдж рдПрдХ рдмрд╛рд▓реНрдЯреА рдирдИ рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ?)

рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬ рдХрд░рдирд╛ "рд╕рд╣реА" рдмрд╛рдд рд╣реИ рдпрджрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрджрд┐ рдХреЛрдИ рдХрд╣реАрдВ рднреА рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЗрддрдиреА рддреЗрдЬреА рд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЧреЛрджрд╛рдо рдЖрджрд┐ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рднреА , рд╣рдо рд╢рд╛рдпрдж рдЦреЛрдЬ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВ рдФрд░ рдЬрдм рд╡реЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЕрдХреНрд╕рд░ рд╣рд░ рдПрдХ рд░рд┐рд▓реАрдЬ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдореЛрдб рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рд╕реЙрд▓реНрд╡рд░ рдХреЛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ, рдЖрджрд┐ред рд╢рд╛рдпрдж рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --please-be-exhaustive-its-ok-ill-wait рдЬреИрд╕реЗ рдзреНрд╡рдЬ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рд╢рд╛рдпрдж рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЧреВрдВрдЧрд╛ рд╣реВрдБ :)

рд╣рдо рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдЧреВрдВрдЧрд╛ рдирд╣реАрдВ рд╣реИрдВ :-) рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬреЗрдВ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ - рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрд╕ рдзрд╛рд░рдгрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рд╕реНрддрд╛ рд╣реИ (рдХрдИ рднреА рдирд╣реАрдВ рд╣реИрдВ рдкрд╛рдЗрдк рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╢реБрд░реВ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИ)ред рддреЛ рд╣рдо "рдкреНрд░рд╕рд┐рджреНрдз рд╣рд╛рд░реНрдб рд╕реАрдПрд╕ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛" рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ :-(

рдПрдХ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдЪрд╛рд░ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХреЗ рдмрдЬрд╛рдп рд╣реИ, рдПрдХ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрдиреНрд╣реЗрдВ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдмрд╛рд▓реНрдЯреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рдВрд╕реНрдХрд░рдг "рдХрд╛рд░реНрдбрд┐рдиреИрд▓рд┐рдЯреА" рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред IOW, рдпрджрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдмрдХреЗрдЯ рдХрд░реЗрдВ, рдпрджрд┐ рдЗрд╕рдХреЗ рдХреБрдЫ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдмрдХреЗрдЯ рдХрд░реЗрдВ, рдЖрджрд┐ред

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХреБрдЫ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рд╕реЗ рдЬреЛ рдХрд┐ рд╕реЗрд╡рд░ рдХреЛ рднрд╛рд░реА рдмрдврд╝рд╛рд╡рд╛ рджреЗрддреЗ рд╣реИрдВ (рдЖрдИрдЖрдИрдЖрд░рд╕реА рдХрд╛рд░реНрдЧреЛ?)

рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдп рдЖрдорддреМрд░ рдкрд░ рд╕реАрд╡рд░ рдХрд╛ рд╕рдЦреНрддреА рд╕реЗ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рдЗрд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдиреЗ рдХрднреА рднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдпрд╛рдиреА рдпрджрд┐ рджреЛрдиреЛрдВ 2.0.1 рдФрд░ 1.9.3 рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ) , рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рдХреЛ 2.0.1 рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ )ред

рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реА рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдмрд┐рд▓реНрдб рдбрд┐рдкреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рдмрд┐рд▓реНрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП prepare_metadata_for_build_wheel рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред

рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ-рдЬреИрд╕реЗ рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рд░ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкрд╛рдЗрдк рдХреЛ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдкрд░ рдкреИрдХреЗрдЬ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреА рд╣реЛрдЧреА (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЖрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ)ред

рд╢рд╛рдпрдж рд╣реЗрд░рд┐рд╕реНрдЯрд┐рдХреНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --please-be-exhaustive-its-ok-ill-wait рдЬреИрд╕реЗ рдзреНрд╡рдЬ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 100+ рдмрд╛рд░ рдмреИрдХрдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░реБрдХрдирд╛ рдФрд░ "рдЕрд░реЗ, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧ рд░рд╣рд╛ рд╣реИред $packages рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдХрдо рдХрд░рдХреЗ рдореЗрд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ, рдпрд╛ рдореБрдЭреЗ --option рдХреЗ рд╕рд╛рде рдХрдард┐рди рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВред" рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдм рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реИрдВ, рддреЛ рдЖрдЗрдП рдПрдХ рдирдВрдмрд░ рдЪреБрдиреЗрдВ (рдореИрдВрдиреЗ 100 рдХрд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрд╕реЗ рд╣рд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛) рдФрд░ рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВ?

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЖрдо рддреМрд░ рдкрд░ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣рдорд╛рд░реЗ рдзреАрдореЗ рд╕рдордп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдШрдВрдЯреЛрдВ рд▓рдЧрддреЗ рд╣реИрдВ .. рдпрд╛ рдпреЗ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╕рдлрд▓ рдЙрддреНрддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?

@dstufft рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдерд╛ (рджреЗрдЦреЗрдВ https://github.com/pypa/pip/issues/9187#issuecomment-736010650)ред рдореИрдВрдиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреМрди рд╕реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдХрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдкреВрд░реНрдг рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ-min.txt рдХреЗ рд╕рд╛рде рдпрд╣ рдШрдВрдЯреЛрдВ рдореЗрдВ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖред

рд▓рдЧрднрдЧ 100 рдкрд┐рди рдХреА рдЧрдИ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдкрд╛рдЗрдк (рд╢рд╛рдпрдж) рдЕрд╕реАрдо рд░реВрдк рд╕реЗ рдореБрджреНрд░рдг "рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ:" рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ https://github.com/WeblateOrg/weblate/ рд░рди/1474960864?check_suite_focus=true рд▓рдВрдмреЗ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж рдорд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛)ред рдореБрдЭреЗ рдЕрднреА рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рд╕реАрдЖрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ - рдпрд╣ рдкрд╣рд▓реЗ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣реАрдВ рд╕реЗ "рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ" рд▓реЙрдЧ рдЖрддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд┐рд░реНрднрд░рддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдереА:

  • рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ google-cloud-translate==3.0.0
  • setuptools==36.0.1 рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ
  • google-api-core[grpc] >= 1.22.0, < 2.0.0dev рд╕реЗ google-cloud-translate==3.0.0
  • google-auth >= 1.19.1, < 2.0dev рд╕реЗ google-api-core
  • setuptools>=40.3.0 рд╕реЗ google-auth (рд╢реНрд░реЗрдгреА рдореЗрдВ рдХреЛрдИ рднреА рд╕рдВрд╕реНрдХрд░рдг)

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрдИ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реНрдг рдкрд┐рдк рдХреИрд╢ рдХреЗ рд╕рд╛рде:

$ time pip install  google-cloud-translate==3.0.0 setuptools==36.0.1
...

real    0m6,206s
user    0m5,136s
sys 0m0,242s
$ time pip install  google-cloud-translate==3.0.0 setuptools==36.0.1 requests==2.20.0
...

real    0m28,724s
user    0m25,162s
sys 0m0,283s

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, requests==2.20.0 (рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдордп рд▓рдЧрднрдЧ рдкрд╛рдВрдЪ рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкрд╛рдЗрдк рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ chardet рдФрд░ certifi рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЖрдо рддреМрд░ рдкрд░ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣рдорд╛рд░реЗ рдзреАрдореЗ рд╕рдордп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдШрдВрдЯреЛрдВ рд▓рдЧрддреЗ рд╣реИрдВ .. рдпрд╛ рдпреЗ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╕рдлрд▓ рдЙрддреНрддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?

рдореИрдВ рдкреНрд░реАрдлреЗрдХреНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ [all_extras] рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЕрдкрдорд╛рдирдЬрдирдХ рдкреИрдХреЗрдЬ рдХреНрдпрд╛ рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдмреИрда рдЬрд╛рдКрдВрдЧрд╛ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдзреАрдорд╛ рд╣реЛрдиреЗ рддрдХ рдмреЗрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛, рдмрд╕ рд╕рдордп рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рд▓реЙрдЧ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдпреБрдХреНрддрд┐рдпрд╛рдВ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ - рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдЗрдк рдХрд┐рди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдЦреЛрдЬ рдореЗрдВ рдХреМрди рд╕реА рдмрд╛рдзрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИред


рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝рдиреЗ рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрдорд╛рди/рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдКрдкрд░ рджреА рдЧрдИ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдЬрд┐рди рдЪреАрдЬреЛрдВ рдкрд░ рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╡реИрдз рдЗрдВрд╕реНрдЯреЙрд▓ рдЖрдорддреМрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ:

  • рд╕рднреА рдкреИрдХреЗрдЬ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо A , B , рдФрд░ C )
  • рд╕рд┐рд╡рд╛рдп рдЕрдЧрд░ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рд░рд┐рд▓реАрдЬрд╝ рдЯреВрдЯ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдо рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдмрд╣реБрдд рдЬрд▓реНрджреА рдареАрдХ рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЯреВрдЯреЗ рд╣реБрдП рдХреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо A рдФрд░ B , C 1 рдпрд╛ 2 рд░рд┐рд▓реАрдЬрд╝ рдкреБрд░рд╛рдирд╛ рд╣реИ)ред

рдореИрдВ рдЬрд┐рд╕ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣реЛрдЧрд╛ " A рдФрд░ B рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг, рд╕рд╛рде рд╣реА 3 рд╕рд╛рд▓ рдкрд╣рд▓реЗ C рдХреА рд░рд┐рд▓реАрдЬ"ред рдПрдХ рдорд╛рдорд▓рд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдпрд╣ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдХреБрдЫ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╛ рдкреБрд░рд╛рдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рд╕реЙрд▓реНрд╡рд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕реАрдзреЗ C=some-old-version рдЪрд╛рд╣рд┐рдП рдореЗрд░реЗ рд▓рд┐рдПред

@brainwane рдиреЗ рдореБрдЭреЗ #9126 рд╕реЗ рдЕрдкрдирд╛ рдорд╛рдорд▓рд╛ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред TLDR: рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ (рдХреЗрд╡рд▓) 3x рдзреАрдорд╛ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ
pip list --format freeze | sed 's/==.*//' | xargs --no-run-if-empty pip install --upgrade --upgrade-strategy eager
рдореЗрд░реЗ рдореИрдиреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП (рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛, рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛, рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЬрд╝рдорд╛рдирд╛) рдЬреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдЕрджреНрдпрддрд┐рдд рд╣реИред рдпрд╣ рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдирдП рдХреЗ рд╕рд╛рде рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреБрд░рд╛рдиреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдирдП рд╣реИрдВред

рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд┐рддрдирд╛ рдзреАрдорд╛ рдерд╛ред рдпрд╣ рдПрдХ рдХрд╛рд░рдХ 3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ (42 рдмрдирд╛рдо 13 рд╕реЗрдХрдВрдб, pip==2.3.0 рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ --use-deprecated legacy-resolver рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдореБрдЦреНрдп рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди pip list --outdated рдЬреАрдИрдЯреА рдЕрдиреБрд░реЛрдз (125) рдХреА рд╕рдЯреАрдХ рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ 20s рд▓реЗрддрд╛ рд╣реИред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ pip рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдкрд░ ~ 30s рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореИрдВ рд╕рдордЭрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред

рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдлрд┐рдЯ рд╣реИрдВ;)

> time pip list --outdated
Package           Version Latest Type
----------------- ------- ------ -----
gast              0.3.3   0.4.0  wheel
grpcio            1.32.0  1.33.2 wheel
h5py              2.10.0  3.1.0  wheel
lazy-object-proxy 1.4.3   1.5.2  wheel
protobuf          3.13.0  3.14.0 wheel

real    0m19.373s
user    0m19.718s
sys     0m0.721s


> time pip list --format freeze | sed 's/==.*//' | xargs --no-run-if-empty pip install --upgrade --upgrade-strategy eager

[...]

real    0m41.655s
user    0m38.308s
sys     0m1.786s


> time pip list --format freeze | sed 's/==.*//' | xargs --no-run-if-empty pip install --upgrade --upgrade-strategy eager
> --use-deprecated legacy-resolver

[...]

Successfully installed gast-0.4.0 grpcio-1.33.2 h5py-3.1.0 lazy-object-proxy-1.5.2 protobuf-3.14.0

real    0m13.064s
user    0m10.804s
sys     0m0.391s


> time pip list --format freeze | sed 's/==.*//' | xargs --no-run-if-empty pip install --upgrade --upgrade-strategy eager

[...]

Successfully installed gast-0.3.3 grpcio-1.32.0 h5py-2.10.0 lazy-object-proxy-1.4.3 protobuf-3.13.0

real    0m42.860s
user    0m39.015s
sys     0m2.000s

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдХреА рдЕрдЪреНрдЫреА рд╕рдордЭ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЖрдо рддреМрд░ рдкрд░ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╣рдорд╛рд░реЗ рдзреАрдореЗ рд╕рдордп рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдШрдВрдЯреЛрдВ рд▓рдЧрддреЗ рд╣реИрдВ .. рдпрд╛ рдпреЗ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рд╕рдлрд▓ рдЙрддреНрддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ?

рдЦреИрд░, рдпрд╣ рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирдП рдХреЗ рд╕рд╛рде рдирд╣реАрдВ- рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ?

рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдУрд╡рд░рд╣реЗрдб рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреАрдЖрдИрдкреА рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреИрд╢ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдорджрдж рдХрд░рддрд╛ рд╣реИ (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реАрдЖрдИ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкреАрдЖрдИрдкреА рдХреЗ рдХреИрд╢ рдХреЛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВ?) рдкреНрд▓рд╕ рд╕рд╛рдЗрдб рдкрд░, рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИрдВ (рдЬрд╣рд╛рдВ " рд╕реНрдкрд╖реНрдЯ" рдкреИрдХреЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд╕рдВрдж рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реИ), рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд╣рд╛рдВ рд╡реИрд╕реЗ рднреА рдХреЛрдИ рд╡реИрдз рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╣реЛрдЧрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдорд╛рдиреНрдп рд╕реЗрдЯ рдХреЛ рдЦреБрд╢реА рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ "рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдирдпрд╛ рдПрдХ рд╡рд┐рдлрд▓" рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдкреБрд░рд╛рдирд╛ рдПрдХ рдЪреБрдкрдЪрд╛рдк рдЯреВрдЯрд╛ рд╣реБрдЖ рд╕рд╛рдорд╛рди рд╣реИ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ")ред

рдпрд╣ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдкреГрд╖реНрдарднреВрдорд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рдо рдХреИрд╢ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЪрдореБрдЪ рдХрднреА рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдордЭрдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдУрд╡рд░рд╣реЗрдб рдХрд╛ рдпрд╣ рд╕реНрддрд░ рд╡рд╕реНрддреБрддрдГ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг- рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдЖрджреЗрд╢ рд╣реИред

рдореИрдВ рдЙрди рдкреБрд░рд╛рдиреЗ рдлреИрд╕рд▓реЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдЬрд┐рдирдХрд╛ рдпрд╣рд╛рдВ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬрдм рддрдХ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред PyPi рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрднрд░рддрд╛ рдбреЗрдЯрд╛ рдХреЛ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╣рдореЗрдВ рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрдЬрдиреЛрдВ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕реИрдХрдбрд╝реЛрдВ рдЕрдиреНрдп рд▓реЛрдЧ рднреА рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд░реЛрдбрдореИрдк рдореЗрдВ рд╣реИ, рд▓рдВрдмрд┐рдд рдлрдВрдбрд┐рдВрдЧ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рддрдм рддрдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред

рдореБрдЭреЗ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝рдиреЗ рд╣реЛрдВрдЧреЗ: рдореИрдВ @tedivm рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧреА рдЖрдЙрдЯрдкреБрдЯ рдХреЗ 10 рдорд┐рдирдЯ рддрдХ рдкрд╛рдЗрдк рдЪрд▓рд╛рдиреЗ рдХрд╛ UX рднрдпрд╛рдирдХ рд╣реИред рдЕрднреА pip рдПрдХ рдЕрдзрд░реНрдореА рдорд╛рддреНрд░рд╛ рдореЗрдВ рджреЛрд╣рд░рд╛рд╡ рд╡рд╛рд▓реЗ рдкрд╛рда рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЬреЛ рд╢рд╛рдпрдж рдЦреЛрдЬ рдХреЛ рдзреАрдорд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ) Requirement already satisfied: ... ред

рдпрджрд┐ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдХреЛ рдмрд╛рдзрд╛ рдЙрд▓реНрд▓рдВрдШрдиреЛрдВ рдХреЛ рддреБрд░рдВрдд рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЦреЛрдЬ рдХреЛ N рдкреНрд░рдпрд╛рд╕реЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ, рдпрд╛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ M рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж рдкрд╛рдЗрдк рдХреЛ рдХрдо рд╕реЗ рдХрдо рдмрд╛рдзрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ рдореБрдЭреЗ рдмрд╕ Ctrl-C рдкрд╛рдЗрдк рдХрд░рдирд╛ рд╣реИ рдЬрдм рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдЪрд▓рддрд╛ рд╣реИ (10 рдорд┐рдирдЯ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ) рдФрд░ рдореБрдЭреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред

рдореЗрд░реЗ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреА рдХрд┐рд╕реНрдд рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗ рд░рд╣реА рд╣реИ рдФрд░ рдлрд┐рд░ рдЬреЗрдирдХреАрдВрд╕ рд╕реАрдЖрдИ/рд╕реАрдбреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди 2 рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдПрдПрдордХреНрдпреВрдкреА рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛==2.5.2
14:27:30 рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдБ amqp-2.5.2-py2.py3-none-any.whl (49 kB)
14:27:30 boto3 рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛==1.16.0
14:27:30 рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ boto3-1.16.0-py2.py3-none-any.whl (129 kB)
14:27:30 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд╣реИ: jmespath<1.0.0,>=0.7.1 in /root/.local/lib/python3.6/site-packages (from boto3==1.16.0->gehc-edison- рдР-рдХрдВрдЯреЗрдирд░-рд╕рдорд░реНрдерди==3.5.0) (0.10.0)
14:27:30 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ: s3transfer<0.4.0,>=0.3.0 in /root/.local/lib/python3.6/site-packages (from boto3==1.16.0->gehc-edison- рдР-рдХрдВрдЯреЗрдирд░-рд╕рдорд░реНрдерди==3.5.0) (0.3.3)
14:27:30 рдмреЛрдЯреЛрдХреЛрд░ рдПрдХрддреНрд░рд┐рдд рдХрд░рдирд╛==1.19.26
14:27:30 рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ botocore-1.19.26-py2.py3-none-any.whl (6.9 рдПрдордмреА)
14:27:30 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╣реА рдкреВрд░реА рд╣реЛ рдЪреБрдХреА рд╣реИ: python-dateutil<3.0.0,>=2.1 in /root/.local/lib/python3.6/site-packages (from botocore==1.19.26->gehc-edison- рдР-рдХрдВрдЯреЗрдирд░-рд╕рдорд░реНрдерди==3.5.0) (2.8.1)
14:27:30 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд╣реИ: jmespath<1.0.0,>=0.7.1 in /root/.local/lib/python3.6/site-packages (from boto3==1.16.0->gehc-edison- рдР-рдХрдВрдЯреЗрдирд░-рд╕рдорд░реНрдерди==3.5.0) (0.10.0)
14:27:30 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрддреБрд╖реНрдЯ рд╣реИ: urllib3<1.27,>=1.25.4 in /root/.local/lib/python3.6/site-packages (рд╕реЗ botocore==1.19.26->gehc-edison-ai- рдХрдВрдЯреЗрдирд░-рд╕рдорд░реНрдерди==3.5.0) (1.25.11)
14:27:30 рдЕрдЬрд╡рд╛рдЗрди рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛==5.0.2
14:27:30 рд╕реЗрд▓реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ-5.0.2-py3-none-any.whl (392 kB)
14:27:30 рдЬрд╛рдирдХрд╛рд░реА: рдкреАрдЖрдИрдкреА рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИред
рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред14:27:31 рдЬрд╛рдирдХрд╛рд░реА: рдкреАрдЖрдИрдкреА рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП <Python from Requires-Python> рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИред
рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпреЛрдВ рдкрд╛рдЗрдк рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ?

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдВрдХрд▓реНрдк рд╣реИред

@Nishanksingla рдореБрдЭреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:

14:27:31 рдЬрд╛рдирдХрд╛рд░реА: рдкреАрдЖрдИрдкреА рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдЗрд╕рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рд╕рдЪрдореБрдЪ рдкреАрдЖрдИрдкреА рдЖрдЙрдЯрдкреБрдЯ рд╣реИ, рдпрд╛ рдЖрдкрдиреЗ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ?

рд╕рд╛рде рд╣реА, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджрд┐рдП рдЧрдП рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред

рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдЕрдкрдбреЗрдЯ рдХреА, рдЧрд┐рдЯ <Python from Requires-Python> . рдирд╣реАрдВ рджрд┐рдЦрд╛ рд░рд╣рд╛ рдерд╛

рдЦреИрд░, рдпрд╣ рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирдП рдХреЗ рд╕рд╛рде рдирд╣реАрдВ- рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ?

рдирд╣реАрдВред рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреБрдЫ рд╣рдж рддрдХ рдзреАрдорд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рдо рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЪреАрдЬреЗрдВ рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ)ред

PyPi рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрднрд░рддрд╛ рдбреЗрдЯрд╛ рдХреЛ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╣рдореЗрдВ рдЙрд╕реА рдбреЗрдЯрд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд░реНрдЬрдиреЛрдВ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕реИрдХрдбрд╝реЛрдВ рдЕрдиреНрдп рд▓реЛрдЧ рднреА рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд░реЛрдбрдореИрдк рдореЗрдВ рд╣реИ, рд▓рдВрдмрд┐рдд рдлрдВрдбрд┐рдВрдЧ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рддрдм рддрдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд┐рдП рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ PyPI рд╕реЗ рдПрдХ рд╡реНрд╣реАрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрд╕ рд╡реНрд╣реАрд▓ рд╕реЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред

рдкрд╣рд┐рдП рдЖрд╕рд╛рди рдорд╛рдорд▓рд╛ рд╣реИрдВ... рд╕рдорд╕реНрдпрд╛ рддрдм sdists рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреА рд╣реИред рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ sdists рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрддрд┐рд╢реАрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣:

setup(
    install_requires=[random.choice(["urllib3", "requests"])]
)

рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг) setup.py рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреА рдкреВрд░реНрд╡-рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдЙрджрд╛рд╣рд░рдг рд╡рд╣ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЪрд▓ рд░рд╣реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рд╡реЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдЦреЛрдЬрддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХрднреА-рдХрднреА рдУрдПрд╕ рдпрд╛ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг (рдЬреЛ рдЖрдзреБрдирд┐рдХ рд╕рдордп рдореЗрдВ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдВрд╕рд╛рд░рд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЕрднреА рддрдХ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдпрд╛ рдРрд╕реА рдЪреАрдЬреЗрдВ рдЬреИрд╕реЗ рдХрд┐ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореМрдЬреВрдж рд╣реИрдВ рдпрд╛ред рдРрд╕рд╛ рдХреБрдЫред

рдЗрд╕ рдкреНрд░рдХрд╛рд░ sdists рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕реНрдерд┐рд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ (рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдпреЛрдЬрдирд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреАрдЫреЗ рд╣рдЯрдирд╛ рд╡реЗ рд╡рд┐рдХрд▓реНрдк рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ рдзреАрдореЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред

рддреЛ рдпрд╣рд╛рдВ рд╣рдорд╛рд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХреМрди рд╕реЗ рд╕реНрдерд┐рд░ рд╕реЗрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдХреЗ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЛ рдЧрддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдПрдкреАрдЖрдИ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдПрдХ рдореМрдХрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдРрд╕реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдзреАрдореЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рднреА рдЯреНрд░рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдЙрди рд╕реБрдзрд╛рд░реЛрдВ (рдФрд░ рдпрд╣ рдЙрди рд╕рднреА рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╛рдЗрдерди рд╣рдорд╛рд░реА рдЧрддрд┐рд╢реАрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг рдмрджрддрд░ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ)ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рд╕рдЪ рд╣реИ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧ "рдмреБрд░реЗ рдорд╛рдорд▓реЗ" рдХреЛ рдорд╛рд░ рд░рд╣реЗ рдереЗ, рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореИрдВрдиреЗ рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдзреАрдореА рдЪреАрдЬреЗрдВ рдЕрдВрддрддрдГ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╣рд▓ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рд╡реЗ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдПрдХ рдЕрдирд╕реБрд▓рдЭреЗ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВред рдпрджрд┐ рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЬрд▓реНрдж рд╣реА рдмрдо рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдЕрдиреБрдорд╛рдиреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ "рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрди рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдмреИрдХрдЯреНрд░реИрдХ рд╣реИ, рддреЛ рд╣рдо рд╢рд╛рдпрдж рд╡рд┐рдлрд▓рддрд╛ рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ"ред рдпрджрд┐ рд╡реЗ рдЖрдо рддреМрд░ рдкрд░ рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЕрдиреБрдорд╛рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рд╕рдорд╛рдзрд╛рди рддреЗрдЬреА рд╕реЗ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдПрдХ рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░рддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд╛рдЗрдк 20.3 рдФрд░ рдкрд╛рдпрдерди 3.6 рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ.txt рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред txt рдореИрдВ рдЕрдкрдиреЗ рдЬреЗрдирдХреАрдВрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдЦреИрд░, рдпрд╣ рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирдП рдХреЗ рд╕рд╛рде рдирд╣реАрдВ- рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ?
рдирд╣реАрдВред рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдмрд╛рдзрд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреБрдЫ рд╣рдж рддрдХ рдзреАрдорд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рдо рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЪреАрдЬреЗрдВ рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ (рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ)ред

рдЬрдм рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ "рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рдХреЗ" рдореИрдВ рд╕рдЪрдореБрдЪ рдмреЛрд▓ рд░рд╣рд╛ рдерд╛- рдЖрдк рдЬреЛ рдЙрд▓реНрд▓рдВрдШрди рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЖрдо рддреМрд░ рдкрд░ рдЬрдм рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдРрд╕рд╛ рдХрд╣рддрд╛ рд╣реИ- рдЬреИрд╕реЗ рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреИрд╕реЗ "рдкреИрдХреЗрдЬ рдПрдХреНрд╕ рдЪрд╛рд╣рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ"ред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рдЬрдм рд╣рдо рдкреБрд░рд╛рдиреЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕реЗрдЯ рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдПрдХ рдорд┐рдирдЯ рдФрд░ рдЙрдирддреАрд╕ рд╕реЗрдХрдВрдб рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╣рдорд╛рд░реЗ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╕рдордп рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред 20 рдорд┐рдирдЯ рдХреБрдЫ рдирд╣реАрдВред

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдкрд░реНрдпрд╛рд╡рд░рдг рдорддрднреЗрдж рд╢рд╛рдпрдж? рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рд╕рд╢рд░реНрдд рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╛рдЗрдк рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг, рдУрдПрд╕, рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЗрддреНрдпрд╛рджрд┐)

рд▓реЙрдЧ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдпреБрдХреНрддрд┐рдпрд╛рдВ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ - рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдЗрдк рдХрд┐рди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдЦреЛрдЬ рдореЗрдВ рдХреМрди рд╕реА рдмрд╛рдзрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИред

рдПрдХ рдЧреИрд░-рджрд╕реНрддрд╛рд╡реЗрдЬ + рдЕрд╕рдорд░реНрдерд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдирд┐рдЬреА рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рд╣реИ: PIP_RESOLVER_DEBUG ред рдХреЛрдИ рд╡рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдЧрд╛ рдпрд╛ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд╣рд┐рдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА, рдЖрдк рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрд░ рдЖрдЙрдЯрдкреБрдЯ! :)

рдЖрдо рддреМрд░ рдкрд░ рдЬрдм рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдРрд╕рд╛ рдХрд╣рддрд╛ рд╣реИ- рдЬреИрд╕реЗ рдЖрдкрдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреИрд╕реЗ "рдкреИрдХреЗрдЬ рдПрдХреНрд╕ рдЪрд╛рд╣рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ"ред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рдУрд╣ рджрд┐рд▓рдЪрд╕реНрдк! рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рджрдмрд╛ рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВ? (рдПрдХ CLI рд╡рд┐рдХрд▓реНрдк рд╣реИ, env var рдпрд╛ config рдлрд╛рдЗрд▓ рдЬреЛ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреА рд╣реИ -- pip config list рдЕрдВрддрд┐рдо рджреЛ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА)

рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╢рд╛рдпрдж рдЬреАрдердм рдЬрд┐рд╕реНрдЯ рдореЗрдВ рдкреНрд░рдЬрдирди рдирд┐рд░реНрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдкреАрдПрд╕: рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛/рд▓рд┐рдЦрд╛ рд╣реИ - рдЪреЗрддрд╛рд╡рдиреА, рдкреБрд░рд╛рдирд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдФрд░ рдирдпрд╛, рдФрд░ AFAIK рдЬреЛ рдЖрдк рд╡рд░реНрдгрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рддрдм рддрдХ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдбрд╝реА рдореЗрд╣рдирдд рдирд╣реАрдВ рдХреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ рджреЗрдЦрд╛ред ;)

рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

  1. рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзрд╛ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ (рдпрд╣ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рдзреНрд╡рдЬ рдерд╛, рдЬреИрд╕реЗ рд╣реА рд╡рд╣ рдмреИрдХрдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рддреБрд░рдВрдд рд╡рд┐рдлрд▓ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рд╕реНрдиреИрдкрд╢реЙрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рд╕реЗ рдХрд╛рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рд▓реАрдЧреЗрд╕реА pip freeze рдХреЛ рд╕реНрдЯреЙрдкрдЧреИрдк рдХреЗ рд░реВрдк рдореЗрдВ constraints.txt рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓реЗрдВред (рднрдЧрд╡рд╛рди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рджрд┐рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ)ред

  2. рдЙрд╣ рдУрд╣, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдХ рд╕рдВрдШрд░реНрд╖ рд╣реИ, рднрд▓реЗ рд╣реА рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдЬрд┐рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд╣рдо рдирд┐рд░реНрднрд░ рд╣реИрдВ, рдЙрд╕рдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рддрдп рдХрд░ рд▓реА рд╣реИ, рддреЛ рдЪрд▓рд┐рдП рдмрд╕ рдЧрд┐рдЯ рдпреВрдЖрд░рдПрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рдЖрд╣, рдЕрдЪреНрдЫрд╛, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ (https://github.com/pypa/pip/issues/8210), рд╡реЗ requirements.txt рдореЗрдВ рд╣реИрдВред

  3. .post1 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкрд░ рдПрдХ рдХрдард┐рди рд╡рд┐рдлрд▓рддрд╛ рд╕рд╣рд┐рдд рдХреБрдЫ рдФрд░ рдореБрджреНрджреЗ (https://github.com/pypa/pip/pull/9085 рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдареАрдХ рдирд╣реАрдВ рд╣реБрдЖ, рдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдлрд▓рддрд╛ рд╣реИ) - рддреЛ рдЕрдм рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ constraints.txt рдХрд╛ рд╕рдВрдкрд╛рджрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╕рдордЭрд╛рддреЗ рд╣реБрдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рд╛рде рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

4; рд╕рдм рдХреБрдЫ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореИрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирдВрдд рд▓реВрдк рдореЗрдВ рд╣реВрдВ (рдЬреЛ рдЬрд╛рдирддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ 33k рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рд╕реНрдЯрдбрдЖрдЙрдЯ рдкрд░ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░реЛрдХ рджрд┐рдпрд╛ рдерд╛) рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдмрд╛рд░-рдмрд╛рд░ рдореБрджреНрд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ:

Requirement already satisfied: google-auth<2.0dev,>=0.4.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from google-api-core<1.24,>=1.16.0->dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (1.23.0)
Requirement already satisfied: google-auth<2.0dev,>=0.4.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from google-api-core<1.24,>=1.16.0->dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (1.23.0)
Requirement already satisfied: six>=1.14.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (1.15.0)
Requirement already satisfied: requests<2.24.0,>=2.18.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from dbt-core@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-core&subdirectory=core->-r python_modules/elementl-data/requirements.txt (line 3)) (2.23.0)
Requirement already satisfied: pytz>=2015.7 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from Babel>=2.0->agate<2,>=1.6->dbt-core@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-core&subdirectory=core->-r python_modules/elementl-data/requirements.txt (line 3)) (2020.4)
Requirement already satisfied: googleapis-common-protos<1.53,>=1.6.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (1.6.0)
Requirement already satisfied: setuptools>=34.0.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from google-api-core<1.24,>=1.16.0->dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (50.3.2)
Requirement already satisfied: six>=1.14.0 in /Users/max/.virtualenvs/internal/lib/python3.7/site-packages (from dbt-bigquery@ git+https://github.com/fishtown-analytics/dbt.git#egg=dbt-bigquery&subdirectory=plugins/bigquery->-r python_modules/elementl-data/requirements.txt (line 4)) (1.15.0)

рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓рд╛ред рдореИрдВрдиреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ.txt, рдФрд░ Constraints.txt рд╕рдВрд▓рдЧреНрди рдХреА рд╣реИрдВред Setup.py рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЪрд▓рддрд╛ рд╣реИ:

from setuptools import setup

setup(
    install_requires=[
        "boto3",
        "dagster_aws",
        "dagster_dbt",
        "dagster_gcp",
        "dagster_pandas",
        "dagster_slack",
        "dagster",
        "dagstermill",
        "dbt",
        "google-cloud-bigquery",
        "idna",
        "nltk",
        "pandas",
        "pybuildkite",
        "requests",
        "slackclient",
        "snowflake-sqlalchemy",
        "tenacity",
    ],
)

рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ.txt
рдмрд╛рдзрд╛рдУрдВ.txt

@mgasner рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд╛рдЗрдк-рдЯреВрд▓реНрд╕ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдирд┐рд░реНрдорд╛рдг рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдПрдХ рдЕрд▓рдЧ рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рд╕реЗ рд▓рд╛рдн рд╣реЛрдЧрд╛ред :)

рдУрд╣ рджрд┐рд▓рдЪрд╕реНрдк! рдХреНрдпрд╛ рдЖрдк рд╡рд╛рдХрдИ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рджрдмрд╛ рдирд╣реАрдВ рд░рд╣реЗ рд╣реИрдВ? (рдПрдХ CLI рд╡рд┐рдХрд▓реНрдк рд╣реИ, env var рдпрд╛ config рдлрд╛рдЗрд▓ рдЬреЛ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреА рд╣реИ -- pip config list рдЕрдВрддрд┐рдо рджреЛ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА)

рдпрд╣ рд╕рд░реНрдХрд┐рд▓рд╕реАрдЖрдИ рдореЗрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЗрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд░реНрдХрд┐рд▓рд╕реАрдЖрдИ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рд╣рдо рдЪреАрдЬреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдорд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рднреА рджрдмрд╛ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╢рд╛рдпрдж рдЬреАрдердм рдЬрд┐рд╕реНрдЯ рдореЗрдВ рдкреНрд░рдЬрдирди рдирд┐рд░реНрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЙрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдЗрд╕реЗ рджреЗрдЦ рдХрд░ рдЖрдк рд╕рднреА рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛- рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдХреБрдЫ рдирд┐рдЬреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдЬреАрдердм рд░реЗрдкреЛ рд╕реЗ рдЦреАрдВрдЪреЗ рдЧрдП) рдореБрдЭреЗ рдХреБрдЫ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рд╡рд╛рджрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЬрд▓реНрджреА рдХрд░реЛред

@pradyunsg рд╣рд╛рдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдиреЙрдирд╕реНрдЯрд╛рд░реНрдЯрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ - рдпрд╣ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИред

рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреЛрдЯ:

рдирдорд╕реНрддреЗред рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрднреА рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред рдЕрдкрдиреА рд░рд┐рдкреЛрд░реНрдЯ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдо рдХрдИ рдкрд░рд╕реНрдкрд░ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рд╣рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

(рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдпрд╣ рднреА рдмрддрд╛рдПрдВ рдХрд┐ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ рддрд╛рдХрд┐ рдЖрдк рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдмреАрдЯрд╛ рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрдХрдбрд╝ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХреЗрдВред)

FYI рдХрд░реЗрдВ: PEP-643 (рдкреИрдХреЗрдЬ рд╕реНрд░реЛрдд рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛) рдХреЛ рдордВрдЬреВрд░реА рджреЗ рджреА рдЧрдИ рд╣реИред :рд░реЙрдХреЗрдЯ:

рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдереА рдХрд┐ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкреИрдХреЗрдЬ рдХреЗ рд╡реИрдз рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рди рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдгред рдРрд╕рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИ-

Screen Shot 2020-12-02 at 12 05 03 PM

рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреА рдУрд░ рдзрдХреЗрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдРрд╕реЗ рдкреНрд░рднрд╛рд╡ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред

рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реЛрдиреЗ рдХреА рдУрд░ рдзрдХреЗрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдРрд╕реЗ рдкреНрд░рднрд╛рд╡ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред

рдЙрдореНрдореАрдж рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкрд╕рдВрдж рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдореВрд╣рд┐рдХ рд╕рдореБрджрд╛рдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрдереЛрдЪрд┐рдд рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдмрд╣реБрдд рдХрдо рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдЕрдиреБрд░реЛрдз" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдорд╛рдВрдЧрддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдХреЛрдИ рднреА рд╕рдВрд╕реНрдХрд░рдг рдРрд╕рд╛ рдХрд░реЗрдЧрд╛; рд▓реЗрдХрд┐рди рдкрд╛рдЗрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЯреВрд▓ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдиреНрдпреВрдЬрд╝рд╕реЗрдЯ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рднреЛрд▓реЗрдкрди рд╕реЗ рдмрд╕рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "рдорджрдж" рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЕрдиреБрд░рдХреНрд╖рдХ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ; рдпрд╣ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдФрд░ рдЯреВрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рд╕рд╣-рд╕рдВрдЪрд╛рд▓рди рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдПрдХ рдмрд╛рдд рдЬреЛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд▓рдВрдмреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рдордп рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рд▓рдХреНрд╖рдг рд╣реЛрддреЗ рд╣реИрдВ - рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдмрд╛рдд "рдкрд░реЗрд╢рд╛рдиреА" рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯ рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдмреЛрдЯреЛрдХреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рд▓реАрдЬ рдорд┐рд▓реА рд╣реИ, рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВ?

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП (рдкрд╛рдЗрдк рдбреЗрд╡рд▓рдкрд░реНрд╕) рдорд╛рдорд▓реЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдкрд░ рдХрд░реНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд╛рд╣рд┐рдПред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╣рд╛рдВ рд╣рдо рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ, рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ ("рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдП рдХреЗ рдПрдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмреА рдХреЗ рд╡рд╛рдИ рд╕рдВрд╕реНрдХрд░рдг, ..., рдЕрд╕рдлрд▓/рд╕рдлрд▓ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ")? рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╕реЗ рднреА рд▓реЙрдЧ рдореЗрдВ рд╣реИ, рдФрд░ рдпрд╣ рддрдм рддрдХ рдХрдо рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд▓реЛрдЧ рдХрдорд╛рдВрдб рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрддреЗ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдмрд╣реБрдд рдЕрддрд┐рд░рд┐рдХреНрдд рдорджрдж рдирд╣реАрдВ рд╣реЛрдЧреАред

https://github.com/pypa/pip/issues/9187#issuecomment -736104404

рдЗрд╕рдХреЗ рдкреНрд░рддрд┐ рдПрдХ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИ, 100 рдмреИрдХрдЯреНрд░реИрдХ (рдпрд╛ рдХреБрдЫ) рдХреЗ рдмрд╛рдж рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд░реБрдХрдирд╛ "рдЕрд░реЗ, рдкреАрдЖрдИрдкреА $ рдкреИрдХреЗрдЬ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд┐рд░реЛрдз рдХреЗ рдХрд╛рд░рдг рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ"ред

рдЖрдЗрдП рдЗрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ -- рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдирдВрдмрд░ рдЪреБрдиреЗрдВред рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реАрдПрд▓рдЖрдИ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ?

рдПрдХ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреА рдУрд░ рдХреИрд╕реЗ рдЧрд┐рдирддреА рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрджрд┐ X Y рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред X==2.0 рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, Y рдХреЛ рддреАрди рдмрд╛рд░ рдмреИрдХрдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЕрдВрддрддрдГ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП, рдЗрд╕рд▓рд┐рдП X рдХреЛ рдмреИрдХрдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ X==1.0 рдореЗрдВ рдкрд┐рди рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд╣рд╛рдВ Y рдХреЛ рджреЛ рдмрд╛рд░ рдФрд░ рдмреИрдХрдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЕрдВрдд рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓рд╛ред . рдХреНрдпрд╛ Y рдХреА рдЕрдм рдмреИрдХрдЯреНрд░реИрдХ рдЧрд┐рдирддреА 3 рдпрд╛ 5 рд╣реИ? рдореИрдВ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреЛрдВ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдмреЛрдЯреЛрдХреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рд▓реАрдЬ рдорд┐рд▓реА рд╣реИ, рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВ?

рдЗрд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВ, рдЗрд╕реЗ рд▓рдЧрднрдЧ рджреИрдирд┐рдХ рд░реВрдк рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рджреЗрдЦреЗрдВ https://pypi.org/project/botocore/#history

рдЗрд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВ, рдЗрд╕реЗ рд▓рдЧрднрдЧ рд░реЛрдЬрд╝ рд░рд┐рд▓реАрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ python-dateutil>=2.1,<3.0.0 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдЬрдЧрд░-рдбреЗрдЯреБрдЯрд┐рд▓ 3.0.0 рдФрд░ рдмреЛрдЯреЛрдХреЛрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдЗрдк рдХреЛ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рд╣рд░ рд░рд┐рд▓реАрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрдЫреЗ рд╣рдЯрдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдбреЗрдЯреБрдЯрд┐рд▓ 3.0.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣реА рд╡рд╣ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ рдЬреЛ рдЗрди рд▓рдВрдмреЗ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рд╣реИред рд╣рдо рдпрд╣ рдирд╣реАрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд░реНрд╖реЛрдВ рдкрд╣рд▓реЗ рдХреЗ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ python-dateutil рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рд╣реЛрдЧреА (рднрд▓реЗ рд╣реА 3.0.0 рд╢рд╛рдпрдж рддрдм рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ) , рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдЕрдЧрд░ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рдПрдХ рдкреНрд░рд╛рдЪреАрди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ python-dateutil рдкрд░ рдПрдХ рдЕрдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ dateutil 3.0.0 рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЬрдмрдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕реБрд╕рдВрдЧрдд рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ .

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдкрд╛рдЗрдк рдХреЛ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд╣рд╛рд▓ рд╣реА" рдорд╛рдирддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╛рдЗрдк рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реА рдмрд╛рдзрд╛ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдмреЛрдЯреЛрдХреЛрд░ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЖрдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд░рд┐рд▓реАрдЬ рдорд┐рд▓реА рд╣реИ, рдпрд╛ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВ?

рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкреИрдХреЗрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╢рд╛рдпрдж рдпрд╣ рддрдереНрдп рдХрд┐ рд╡реЗ рдЗрддрдиреА рд╕рдЦреНрддреА рд╕реЗ рдкрд┐рди рдХрд░рддреЗ рд╣реИрдВ, рд╡реНрдпрд╛рдкрдХ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд╛ рдХрд╛рд░рдг рд╣реИред рддреЛ рдпрд╣ рди рдХреЗрд╡рд▓ рдмрд╣реБрдд рдвреАрд▓рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдмрд╣реБрдд рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рднреА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рддреЗрдЬреА рд╕реЗ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд░рдХреАрдмреЗрдВ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ рдкреИрдХреЗрдЬ рдЪреБрдирдирд╛, рдФрд░ рдХрдо рд╕реЗ рдХрдо рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЬ рдЪреБрдирдирд╛, рд░реЗрдлрд░реА https://github.com/sdispater/mixology/pull/5 )

рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдХреНрд╕рдкреНрд▓реЛрдбрд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг awscli рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд╕рдВрджреАрджрд╛ boto3 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ boto3 botocore рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реИ, рдФрд░ awscli botocore рдкрд░ рднреА рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реИред

рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдп extras_require рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП aiobotocore[awscli,boto3]==1.1.2 рд╕рдЯреАрдХ рдкрд┐рди рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ (awscli==1.18.121 boto3==1.14.44) рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ (рдмреЛрдЯреЛрдХреЛрд░ рдпрд╣рд╛рдВ рдирд┐рд░реНрдгрдп рд▓реЗ рд░рд╣рд╛ рд╣реИ) )

рдпрджрд┐ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдмрд┐рдирд╛ рдкрд┐рди рдХреЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдПрдХ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рдмреЛрдЯреЛрдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

$ pipgrip --tree boto3==1.14.44 awscli==1.18.121
boto3==1.14.44 (1.14.44)
тФЬтФАтФА botocore<1.18.0,>=1.17.44 (1.17.44)
тФВ   тФЬтФАтФА docutils<0.16,>=0.10 (0.15.2)
тФВ   тФЬтФАтФА jmespath<1.0.0,>=0.7.1 (0.10.0)
тФВ   тФЬтФАтФА python-dateutil<3.0.0,>=2.1 (2.8.1)
тФВ   тФВ   тФФтФАтФА six>=1.5 (1.15.0)
тФВ   тФФтФАтФА urllib3<1.26,>=1.20 (1.25.11)
тФЬтФАтФА jmespath<1.0.0,>=0.7.1 (0.10.0)
тФФтФАтФА s3transfer<0.4.0,>=0.3.0 (0.3.3)
    тФФтФАтФА botocore<2.0a.0,>=1.12.36 (1.17.44)
        тФЬтФАтФА docutils<0.16,>=0.10 (0.15.2)
        тФЬтФАтФА jmespath<1.0.0,>=0.7.1 (0.10.0)
        тФЬтФАтФА python-dateutil<3.0.0,>=2.1 (2.8.1)
        тФВ   тФФтФАтФА six>=1.5 (1.15.0)
        тФФтФАтФА urllib3<1.26,>=1.20 (1.25.11)
awscli==1.18.121 (1.18.121)
тФЬтФАтФА botocore==1.17.44 (1.17.44)
тФВ   тФЬтФАтФА docutils<0.16,>=0.10 (0.15.2)
тФВ   тФЬтФАтФА jmespath<1.0.0,>=0.7.1 (0.10.0)
тФВ   тФЬтФАтФА python-dateutil<3.0.0,>=2.1 (2.8.1)
тФВ   тФВ   тФФтФАтФА six>=1.5 (1.15.0)
тФВ   тФФтФАтФА urllib3<1.26,>=1.20 (1.25.11)
тФЬтФАтФА colorama<0.4.4,>=0.2.5 (0.4.3)
тФЬтФАтФА docutils<0.16,>=0.10 (0.15.2)
тФЬтФАтФА pyyaml<5.4,>=3.10 (5.3.1)
тФЬтФАтФА rsa<=4.5.0,>=3.1.2 (4.5)
тФВ   тФФтФАтФА pyasn1>=0.1.3 (0.4.8)
тФФтФАтФА s3transfer<0.4.0,>=0.3.0 (0.3.3)
    тФФтФАтФА botocore<2.0a.0,>=1.12.36 (1.17.44)
        тФЬтФАтФА docutils<0.16,>=0.10 (0.15.2)
        тФЬтФАтФА jmespath<1.0.0,>=0.7.1 (0.10.0)
        тФЬтФАтФА python-dateutil<3.0.0,>=2.1 (2.8.1)
        тФВ   тФФтФАтФА six>=1.5 (1.15.0)
        тФФтФАтФА urllib3<1.26,>=1.20 (1.25.11)

@ddelange рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЭрдЧрдбрд╝реЛрдВ рдХреЛ рддреЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд░рдХреАрдмреЗрдВ рд╣реИрдВ

рд╣рдо рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ #9211 . рдореЗрдВ рддрд▓рд╛рд╢ рд░рд╣реЗ рд╣реИрдВ

рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдХреНрд╕рдкреНрд▓реЛрдбрд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг awscli рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкрд╕рдВрджреАрджрд╛ boto3 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдВрдпреЛрдЬрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ boto3 botocore рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реИ, рдФрд░ awscli botocore рдкрд░ рднреА рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╣реИред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреИрдХреЗрдЬ рдореЗрдВрдЯреЗрдирд░реНрд╕ рдХреА рдорджрдж рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ (рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ рдмрд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рдХрд┐рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкрд╛рдЗрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ)ред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рд▓реЗрдХрд┐рди рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреИрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬрд┐рдВрдЧ рдорд╛рдирдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЕрдиреБрд░рдХреНрд╖рдХ, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛрдЧрд╛ред

FYI рдХрд░реЗрдВ: PEP-643 (рдкреИрдХреЗрдЬ рд╕реНрд░реЛрдд рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛рдбреЗрдЯрд╛) рдХреЛ рдордВрдЬреВрд░реА рджреЗ рджреА рдЧрдИ рд╣реИред рдореИрдВ

рдЕрдзрд┐рдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ/рд╡рд┐рд░рд╛рд╕рдд рдЖрджрд┐ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛, рдХреНрдпрд╛ рдпрд╣ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдкреАрдкреАрдкреА рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдХреЙрд▓ рдореЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рднреА .whl.METADATA рдлрд╛рдЗрд▓реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ?

рдкрд╛рдЗрдкрд╛/рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдФрд░ рдкреАрдЖрдИрдкреА-рдпреВрдЬрд░ рд╕рд╛рдЗрдб рджреЛрдиреЛрдВ рдкрд░ рдЙрдЪрд┐рдд рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╕реНрдкреАрдбрдЕрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ:

рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЗрд╕ рдзрд╛рд░рдгрд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рд╕реНрддрд╛ рд╣реИ

@ddelange рдпрджрд┐ рдкреНрд░рдореБрдЦ рд▓рд╛рдЧрдд + рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣реА рд╣реИ, рддреЛ рд╣рд╛рдБред https://github.com/pypa/warehouse/issues/8254 рджреЗрдЦреЗрдВред :)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: @dstufft рдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ https://github.com/pypa/pip/issues/9187#issuecomment -736792074 рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреАред

2\. Start a binary search, cut the remaining candidates in half and try with that.
    2a. If it works, start taking the binary search towards the "newer" side (cut that in half, try again, etc).
    2b. If it fails, start taking the binary search towards the "older"side (cut that in half, try again, etc).

рдпрд╣ рдмрд╛рдЗрдирд░реА рдЦреЛрдЬ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рддрд░рд╣ рд╕реЗ "рдХреНрд░рдордмрджреНрдз" рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ git bisect рдХреЗ рд╕рдорд╛рди рд╣реА рдХрд╛рд░реНрдп рдХрд░реЗрдЧреА? рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдирд╡реАрдирддрдо N рд╕рдВрд╕реНрдХрд░рдг рд╕рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреБрд░рд╛рдиреЗ рдЖрдзреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдЪреНрдЫреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдордзреНрдп рдЖрдзрд╛ "рдареАрдХ" рд╣реИред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдПрдХ рд╢реЛрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ/рд╕рдВрднрд╛рд╡реНрдп рджреНрд╡рд┐рднрд╛рдЬрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред https://github.com/choderalab/thresholds/blob/master/thresholds/bisect.py

рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ python-dateutil>=2.1,<3.0.0 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЕрдЬрдЧрд░-рдбреЗрдЯреБрдЯрд┐рд▓ 3.0.0 рдФрд░ рдмреЛрдЯреЛрдХреЛрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкрд╛рдЗрдк рдХреЛ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рд╣рд░ рд░рд┐рд▓реАрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреАрдЫреЗ рд╣рдЯрдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдбреЗрдЯреБрдЯрд┐рд▓ 3.0.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╢рд╛рдпрдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рдкрд╛рдЗрдк рдХреЛ рдХреБрдЫ рд░рд┐рд▓реАрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдмреЛрдЯреЛрдХреЛрд░ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд╣рд╛рд▓ рд╣реА" рдорд╛рдирддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╛рдЗрдк рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реА рдмрд╛рдзрд╛ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЛрдЪрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдирд┐рдХреНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкреАрдЖрдИрдкреА рдпрд╣рд╛рдВ рдПрдХ рдзрд╛рд░рдгрд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рджрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ A рдФрд░ B рдЬрд╣рд╛рдВ A B рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ A рд╕рдВрд╕реНрдХрд░рдг 10 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ B <= 5 , рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдорд╛рди рд╕рдХрддрд╛ рд╣реИ рдХрд┐ A < 10 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг B > 5 рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдкреИрдХреЗрдЬ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдКрдкрд░реА рд╕реАрдорд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рд╡реЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдореА рдХрд░рддреЗ рд╣реИрдВ (рдЖрдорддреМрд░ рдкрд░ рд░рдЦрд░рдЦрд╛рд╡ рдЯрдХреНрдХрд░ рд╕рдВрд╕реНрдХрд░рдг, рдЙрдиреНрд╣реЗрдВ рдХрдо рдирд╣реАрдВ рдХрд░рддреЗ)ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ A==9 B<=6 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдкрд░ B<=5 рддрдХ рдШрдЯ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрднреА рднреА рдПрдХ рд╕реНрдкрд╖реНрдЯ рдмрд╛рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдкреАрдЖрдИрдкреА botocore рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдмреИрдХрдЯреНрд░реИрдХрд┐рдВрдЧ рд░рдЦрддрд╛ рд╣реИ - рдпрд╣ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ python-dateutil 3.0.0 рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдорд╛рдирддрд╛ рд╣реИ botocore рдореЗрдВ рд╕реЗ python-dateutil рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рд▓реЗрдХрд┐рди рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреИрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬрд┐рдВрдЧ рдорд╛рдирдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЕрдиреБрд░рдХреНрд╖рдХ, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реЛрдЧрд╛ред

@pfmoore рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рд╢реБрд░реБрдЖрддреА рд╡рд┐рдлрд▓рддрд╛рдПрдВ рдереАрдВ рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдШреВрдо рд░рд╣рд╛ рдерд╛ рдФрд░ рдкреИрдХреЗрдЬ рд╕реЗ рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЙрдирдХрд╛ setup.py рдкрд╛рдпрдерди 3 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рдерд╛ ...

  1. рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдорд╛рд░реНрдЯ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ _knows_ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 2 рд╣реИ ... рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдкрд░ рдореЗрд░реА рднрд╛рд╡рдирд╛ рдХреЛ рдмрддрд╛ рд░рд╣рд╛ рд╣реИред
  2. рд╡рд┐рдлрд▓рддрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реВрдЪрдирд╛рддреНрдордХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рдХреЗ n+1th (рдПрди рдХреЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЙрдЪрд┐рдд рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП) рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреЗрдирд╛, рд╕рдВрднрд╡рддрдГ рдмрд┐рд▓реНрдб рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ 100+ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ .

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ @pfmoore рдкрд░ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдЬ рдХрдИ (> 6) рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдкреАрдЖрдИрдкреА рдХреА рдирд╡реАрдирддрдо рдкреНрд░рдХрд╛рд╢рд┐рдд рд░рд┐рд▓реАрдЬ рдореЗрдВ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╕реЗ рдирд┐рдкрдЯрдиреЗ (рдФрд░ рд╢реЛрдз рдХрд░рдиреЗ) рдХреЗ рдмрд╛рдж рдореЗрд░реА рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред

  1. рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдкреАрдЫреЗ рдХрд╛ рдореБрджреНрджрд╛ "рдпрд╣ рдПрдХ рд╡реИрдз рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрд╛" рдХрд╛ рдорд╛рдорд▓рд╛ рдХрдо рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ _рдкреИрдереЛрд▓реЙрдЬрд┐рдХрд▓ рд░реВрдк рд╕реЗ рд▓рдЧрд╛рддрд╛рд░_ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рдЕрдирдВрдд рд▓реВрдк рдФрд░ рдкреИрдереЛрд▓реЙрдЬрд┐рдХрд▓ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рди рд╕рдордп рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ _рдХреЛрдИ рдХреНрдпреЛрдВ рдкрд╛рдЗрдк рдХреЛ рдПрдХ рдШрдВрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред "рддреЗрдЬреА рд╕реЗ рд╡рд┐рдлрд▓" рдпрд╛ "рдЬрд▓реНрджреА рдЫреЛрдбрд╝ рджреЗрдВ" рд╡рд┐рдХрд▓реНрдк рдХреА рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдХрдИ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рдЬреЛ рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рд╛рде рд░рдЦрддреЗ рд╣реИрдВ, 50 рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдмрд┐рдВрджреБ рдореЗрдВ рдореЗрд░рд╛ рдПрд▓рдПрдХреНрд╕рдПрдордПрд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ) 4) рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реАрдЖрдИ рдмрд┐рд▓реНрдб рдкрд░ рдПрдХ рдШрдВрдЯреЗ рдХреЗ рджреМрд░рд╛рди рдзреАрдорд╛ рдФрд░ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ... рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдерд╛ред

  2. рд╕реНрд╡реАрдХрд╛рд░реНрдп рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ --use-feature=fast-deps рдХреЗ рд╕рд╛рде рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдпрд╣ рдЖрдВрд╢рд┐рдХ рд╢рдорди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдЦреБрд╢реА рд╕реЗ рдЗрддрдиреА рджреВрд░ рдЪрд▓реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕реЗ рдЕрдм рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдзреАрдореЗ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг lxml рд╣реИ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг 4.6.1 рд╕реЗ 3.7.2 рддрдХ рддреЗрдЬрд╝ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдлрд┐рд░ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдкреИрдХреЗрдЬ рдЯреИрд░рдмреЙрд▓ рд╡рд┐рдзрд┐ 3.7.1 рд╕реЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдереА рдЬрдм рддрдХ рдХрд┐ рд╕реАрдЖрдИ 60 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рд╕рдордп рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, 2.0.8 рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ред

  3. рдЙрдкрд▓рдмреНрдз рдбреЙрдХрдЯрд░ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЯреВрд▓реНрд╕ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдХреНрд╕рд░ _no pip cache_ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ _must_ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рд╢рд╛рдорд┐рд▓ рд╣реИ, 100% рд╕реНрд╡рдЪреНрдЫ рдирд┐рд░реНрдорд╛рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдХрдо рд╕реЗ рдХрдо 100 рдХреБрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЙрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ, рдХреИрд╢реНрдб рдХреБрдЫ рднреА рдирд╣реАрдВред

    • рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ 1 рдЖрдВрд╢рд┐рдХ рддрдВрддреНрд░ рдорд┐рд▓рд╛ рд╣реИ https://stackoverflow.com/questions/58018300/using-a-pip-cache-directory-in-docker-builds рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХреИрд╢ рдХреЛ рдбреЙрдХрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдореЗрдЬрдмрд╛рди рдкрд░ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рднреА ... рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рд▓рдЧрд╛рдП рдЧрдП рд╕реАрдорд╛рдУрдВ рдХрд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдмрд╛рд╣рд░ рд░рд╣рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдореЗрд░реЗ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдмрд┐рд▓реНрдб рд╣реЛрд╕реНрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдПрдХ рдкрд╛рдЗрдк рдХреИрд╢ рдирд┐рдХрд╛рд▓рд╛ рд╣реЛ, рд╕реАрдЖрдИ рд╕реЗрд╡рд╛ рдЙрд╕ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрд┐рд▓реНрдб рдмреЙрдХреНрд╕ рдХреЗ 60 рдорд┐рдирдЯ рдХреЗ рднреАрддрд░ рдлреЗрдВрдХ рджреЗрдЧреАред рдмреЗрдХрд╛рд░ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ- рдлрд┐рдХреНрд╕реНрдб рдЯрд╛рдЗрдкреЛрд╕

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЛрдЪрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдирд┐рдХреНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛рдУрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕реЗ рдХрднреА рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛ред рддреЛ рдЗрд╕реЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкреАрдЖрдИрдкреА рдпрд╣рд╛рдВ рдПрдХ рдзрд╛рд░рдгрд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЦрддрд░рдирд╛рдХ рдореИрджрд╛рди рд╣реИред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдРрд╕реА рдзрд╛рд░рдгрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдкрд╛рдЗрдк рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЬрдм рднреА рд╣рдо рдРрд╕реА рдзрд╛рд░рдгрд╛рдПрдБ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдкреИрдХреЗрдЬ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рдФрд░ "рдПрдХ рдЕрдорд╛рдиреНрдп рдзрд╛рд░рдгрд╛ рдмрдирд╛рдирд╛" рд╣рдореЗрдВ "рдПрдХ рдмрдЧ" рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХрд╛рдлреА рдЧрд╛рд░рдВрдЯреА рд╣реИ

рдЖрдкрдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рд╣реА рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдПрдХ рдкреИрдХреЗрдЬ рдиреЗ python-dateutil <= 3.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝реА рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдереА рдЬрд┐рд╕реЗ dateutil 3.0 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ python-dateutil < 3 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдирд╛ рдЕрдЧрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдордиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ (рдХрд╛рд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдЬреАрдм рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рдХрд░рддреАрдВ рдЬреЛ рдПрдХ рдкреАрдЖрдИрдкреА рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░рд╛ рдХрд╛рдо рдХрдард┐рди рдмрдирд╛рддреА рд╣реИрдВ) рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХрд╛рдлреА рд╣рдж рддрдХ рдЗрд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИред

@pfmoore рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд┐рдВрджреБ 3 рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдорд┐рд▓ рд░рд╣рд╛ рдерд╛, рдЙрд╕рдХреА рддрд░реНрдЬ рдкрд░ https://github.com/pypa/pip/issues/9187#issuecomment -738103308 - рдпрд╣рд╛рдВ рдПрдХ "рд╕рд░рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдЕрдиреБрдорд╛рдиреА рд╕рдорд╛рдзрд╛рди рдЬрд╣рд╛рдВ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг рдмреИрдХрдЯреНрд░реЗрд╕ рдбреЗрдкреНрде = N " рдФрд░ M рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдлреНрд▓реИрдЧ рдмреЛрдЯреЛрдХреЛрд░ рдФрд░ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рдкрд╕ рдЪрд▓рддреЗ рд╣реИрдВред рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд░рд▓ рдЕрдиреБрдорд╛рди, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рдЪреВрдХ, рд╕рд╣рд╛рдпрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдФрд░ рдЖрд╕рд╛рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде ... рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ "рд╕реНрдорд╛рд░реНрдЯ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЖ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдордиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдЙрдЪрд┐рдд рдмрд┐рдВрджреБред рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдУрдПрд╕рдПрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ "рдмрд╣реБрдд рд╕рд╛рд░реЗ рдШреБрдВрдбреА" рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реВрдВред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдзрд╛рд░рдгрд╛рдПрдВ рдпрд╣рд╛рдВ рдПрдХ рдХреАрдордд рдкрд░ рдЖрддреА рд╣реИрдВ, рдФрд░ рдЕрдкрдиреЗ (рдФрд░ рдкреАрдкреА рдЯреАрдо рдХреЗ) рдирд┐рд░реНрдгрдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдКрдкрд░ рдХреА рдзрд╛рд░рдгрд╛ рдПрдХ рдЙрдЪрд┐рдд рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рд╕реЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдкрд░ рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдКрдкрд░реА рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдКрдкрд░реА-рдмрд╛рдЙрдВрдб рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХреЗ рдХрд╛рд░рдг рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

  • рдкрд┐рдк рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдзрд╛рд░рдгрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдПрдХ рдЫреЛрдЯреА рд░рд╛рд╢рд┐ (рдмреИрдХрдЯреНрд░реИрдХ рдХреА рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде) рдХреЛ рднреА рдкреАрдЫреЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдШрдЯ рдЬрд╛рддреА рд╣реИ рджреБрд░реНрд▓рдн рдФрд░ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рд░рд┐рд▓реАрдЬ рдЬрд╛рд░реА рдХрд░реЗрдВ рдЬреЛ рдбрд┐рдкреЛ рдХреЛ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рджреЛ рдореЗрдВ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреИрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ) рдФрд░ рд╣рд▓ рдХрд░реЗрдЧрд╛:

    рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдПрдХ рдкреИрдХреЗрдЬ рдиреЗ рдЕрдЬрдЧрд░-рдбреЗрдЯреБрдЯрд┐рд▓ <= 3.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдЬреЛрдбрд╝реА рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдереА рдЬрд┐рд╕реЗ рдбреЗрдЯреБрдЯрд┐рд▓ 3.0 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдирд╛ рдЕрдЧрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдпрдерди-рдбреЗрдЯреБрдЯрд┐рд▓ <3 рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛, рдЬрдмрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдбреЗрдЯреБрдЯрд┐рд▓ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ?

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддрдирд╛ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдЖрдк рд╕рднреА рдХреЗ рдкрд╛рд╕ рд╣реИред рдмрд╕ рдореЗрд░реЗ 2 рд╕реЗрдВрдЯред

@jcrist рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╡рд╣реА рдзрд╛рд░рдгрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ @dstufft рдХрд╛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдЦреЛрдЬ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИ: рдХрд┐ рдкреИрдХреЗрдЬ рдХреА рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЖрдорддреМрд░ рдкрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрджреЗрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЬрд┐рди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреА рдЧрддрд┐ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдмреЗрддреБрдХрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ ... рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PyPI рдкрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рдШрдЯрддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЙрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБ рдЬрд┐рддрдирд╛ рдЕрднреА рд╕реБрдЭрд╛рд╡ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рд╕рдореАрдХреНрд╖рд╛ рдХрд░реВрдБрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореИрдВ рд░рдЪрдирд╛рддреНрдордХ рдФрд░ рдЙрдкрдпреЛрдЧреА рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдирдП рд╡рд┐рдЪрд╛рд░ рдФрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрддреЗ рд╣реИрдВ!

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдмреЗрддреБрдХрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ ... рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PyPI рдкрд░ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рдШрдЯрддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рдирд┐рдЪрд▓реА рд╕реАрдорд╛ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмреЗрддреБрдХрд╛ рдирд╣реАрдВред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рдПрдХ рдирд┐рд░рдВрддрд░ рдХрд╛рд░реНрдп рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, рдореБрдЭреЗ рдкреАрдкреАрдкреАрдЖрдИ рдЬреЗрдПрд╕рдУрдПрди рдПрдкреАрдЖрдИ рд╕реЗ рд╕рд╛рдорд╛рди рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рдпрд╣ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХрд╛рдо рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдирд┐рд░реНрднрд░рддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ PyPI рдкрд░ рд╣рд░ рдкрд╣рд┐рдпреЗ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛, рд╕рд╛рде рд╣реА рд╕рднреА sdists рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ (рдФрд░ рдлрд┐рд░ рднреА, sdists рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреЗрд╡рд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ)ред рдореБрдЭреЗ рдЕрднреА рддрдХ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд╣рд╛рдБ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ "рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреИрдХреЗрдЬ рдЪреБрдиреЗрдВ" рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ "рдмреЛрдЯреЛрдХреЛрд░" рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрдХреЗрдЬ рдерд╛, рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрддрдиреА рдмрд╛рд░ рдпрд╣рд╛рдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реЛрддрд╛ред

(рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдкреАрдИрдкреАрдЖрдИ рджрд░реНрдкрдг рд╣реИ рдФрд░ рд╕рднреА рдкрд╣рд┐рдпреЛрдВ рд╕реЗ рдореЗрдбрдЯрд╛рдбрд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд╣реАрдВ рднреА рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛)ред

рддреЛ рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╕реБрдЭрд╛рд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рдкреАрдИрдкреАрдЖрдИ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рд░рд╕рдж рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рдХрдард┐рди рдмрдирд╛ рджреЗрддреА рд╣реИред (рдкрд╛рдЗрдк рджреЗрд╡реЛрдВ рдХреЗ рдкрд╛рд╕ рдкреАрдИрдкреАрдЖрдИ рддрдХ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдореИрдВ рдЪреАрдЬреЛрдВ рдХреЛ рд░рд╛рддреЛрдВрд░рд╛рдд рдЬрдорд╛ рд╣реЛрдиреЗ рджреВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдмрд╛рддрдЪреАрдд рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝реА рд╣реИред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП ... @pfmoore (рдФрд░ рдХреЛрдИ рдФрд░ рдЙрддреНрд╕реБрдХ ... рд░рд╛рдд рдХреЗ рдЗрд╕ рдШрдВрдЯреЗ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬрд╝ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ) рдпрджрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рд╣реИрдВ рддреЛ рдХреБрдЫ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрддреАрдд рдореЗрдВ рдкреАрдИрдкреАрдЖрдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдг "рдХрдард┐рди рддрд░реАрдХрд╛" рдХрд┐рдпрд╛ рд╣реИред

... рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЕрдВрддрд┐рдо рд╡рд┐рдЪрд╛рд░, рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рди рднреВрд▓реЗрдВ рдХрд┐ --use-feature=fast-deps рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рдкрд╛рдЗрдк рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд┐рддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реЛрдЧрд╛ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдПред

@techdragon рдпреЗ рдкреЛрд╕реНрдЯ рдЬреНрдпрд╛рджрд╛рддрд░ рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреЗ рдореЗрд▓реЗ рд╕реЗ рд╣реИрдВ, рдФрд░ PyPI рдХреЗ рдкрд╛рд╕ рдЕрдм рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╣реИрдВ (рдпрд╣рд╛рдВ 2019 рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдПрдХ рдкреЛрд╕реНрдЯ рд╣реИ, рдЬреЛ рд╡рд┐рдХрд╛рд╕ рд╡рдХреНрд░ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ: https://blog.adafruit.com/2019/03 /13/рдЧреНрд░реЛрде-рдЗрди-рдж-рдкрд╛рдпрдерди-рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░-рдкрд╛рдпрдерди/)ред рдпрд╣ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдШрд╛рддреАрдп рд╡реГрджреНрдзрд┐ рд╣реИред

рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рддрдХрдиреАрдХреЛрдВ рдХреЛ рдЕрдм рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ _рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдХреБрдЫ рджреГрд╢реНрдпрддрд╛ рдорд┐рд▓реА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдПрдХрд▓ рдИрд╕реА 2 рдорд╢реАрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдЧреИрд░-рддреБрдЪреНрдЫ рдерд╛ рдФрд░ рдЗрд╕рд╕реЗ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

PyPI рдкрд░ рдкреИрдХреЗрдЬ рд╕реЗ рдЕрднрд┐рд▓реЗрдЦреАрдп рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдФрд░ рд╕рдВрднрд╡рддрдГ рдорд╛рдиреНрдп) рдХреЗ рдореБрджреНрджреЗ рдкрд░, рд▓реЛрдЧреЛрдВ рдХреА рджрд┐рд▓рдЪрд╕реНрдкреА https://github.com/pypa/warehouse/issues/474#issuecomment -370986838 рдФрд░ https://github.com/ рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдХрд┐ рдлрдВрдбреЗрдмрд▓ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдореЗрдВ "рдСрдбрд┐рдЯ рдФрд░ рдЕрдкрдбреЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛" рдЖрдЗрдЯрдо рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИ ред

(рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХ рдкреАрдИрдкреАрдЖрдИ рджрд░реНрдкрдг рд╣реИ рдФрд░ рд╕рднреА рдкрд╣рд┐рдпреЛрдВ рд╕реЗ рдореЗрдбрдЯрд╛рдбрд╛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд╣реАрдВ рднреА рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛)ред

fwiw: рдореИрдВрдиреЗ рд╕рд┐рддрдВрдмрд░ 2019 рдФрд░ рдЕрдЧрд╕реНрдд 2020 рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП distlib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП PyPI рдХреЛ рд╕реНрдХреНрд░реИрдк рдХрд┐рдпрд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдЧрдбрд╝рдмрдбрд╝ рдФрд░ рдЕрдзреВрд░реЗ рд╣реИрдВ (рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдЯрд▓рд┐рдм рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ _how_ рдЕрдзреВрд░рд╛ рдирд╣реАрдВ рдкрддрд╛), рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ: https://github.com/sersorrel/pypi-stats

рдЙрдореНрдореАрдж рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдкрд╕рдВрдж рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдореВрд╣рд┐рдХ рд╕рдореБрджрд╛рдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрдереЛрдЪрд┐рдд рд╕рдЦреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдмрд╣реБрдд рдХрдо рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдЕрдиреБрд░реЛрдз" (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдорд╛рдВрдЧрддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдХреЛрдИ рднреА рд╕рдВрд╕реНрдХрд░рдг рдРрд╕рд╛ рдХрд░реЗрдЧрд╛; рд▓реЗрдХрд┐рди рдкрд╛рдЗрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЯреВрд▓ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдиреНрдпреВрдЬрд╝рд╕реЗрдЯ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рднреЛрд▓реЗрдкрди рд╕реЗ рдмрд╕рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ "рдорджрдж" рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЕрдиреБрд░рдХреНрд╖рдХ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ; рдпрд╣ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдФрд░ рдЯреВрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рд╕рд╣-рд╕рдВрдЪрд╛рд▓рди рд╡рд╛рддрд╛рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдпрд╣ рд╢реАрд░реНрд╖ рдкрд░ рдЙрдЪрд┐рдд рд╣реИ- рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреИрдк рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреНрдпрд╛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдпрд╣ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ)ред

рд╕рдорд╕реНрдпрд╛ рджреВрд╕рд░реА рджрд┐рд╢рд╛ рдореЗрдВ рд╣реИ- рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рд╕реАрдорд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА X рдХреЗ рдирд╡реАрдирддрдо рддреАрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ) рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЧрддрддрд╛ рд╡рд┐рдВрдбреЛ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ ~v1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓>v1.46 рдкрд░ рд╕реЗрдЯ рд╣реИ рдФрд░ рджреВрд╕рд░рд╛ рдкреИрдХреЗрдЬ рдЬреЛ v1.40 рдкрд░ рдЫрд╛рдпрд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореИрдЪ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛рдПрдВрдЧреЗред

рдпрд╣ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдпрд╣ рд╡реИрдз рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рдореБрджреНрджреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд░рд╣рд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рдФрд░ рдЕрдиреБрд░рдХреНрд╖рдХ (рдЬреЛ рдЕрдХреНрд╕рд░ рдореБрдлреНрдд рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ) рдХреЗрд╡рд▓ рдПрдХ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╣реБрдд рдХреБрдЫ рд╣реЛрдЧрд╛ рдРрд╕реЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рдкрд╛рдЗрдк рдореИрдЪ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛рдПрдЧрд╛ред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ "рд╕рд┐рд░реНрдл рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдкреИрдХреЗрдЬ рдЪреБрдиреЗрдВ" рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ "рдмреЛрдЯреЛрдХреЛрд░" рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдорд╛рдирд╛ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреИрдХреЗрдЬ рдерд╛

https://pypistats.org/top

@tedivm рдиреЗ рдЬреЛ рдХрд╣рд╛ рд╡рд╣ рд╕рдЪ рд╣реИ - рдореЙрдбреНрдпреВрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдХрд╕рдХрд░ рдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдХреЗ, рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдирд░рдХ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рджреЛ рдореЙрдбреНрдпреВрд▓ рдПрдХ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдкреАрдЖрдИрдкреА рдЕрдиреБрд░рдХреНрд╖рдХ - рдХреГрдкрдпрд╛ рдкрд┐рдЫрд▓реЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВ рдФрд░ рдЙрди рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдкрд░ рдмреЗрд╣рддрд░ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖрдПрдВред рдХреГрдкрдпрд╛ред рдЙрди рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдмрд╕ рдЗрд▓рд╛рдЬ рдПрдХ рд╕реАрдЦрдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдкреАрдЫреЗ рд╣рдЯрдиреЗ рдореЗрдВ рдХреЛрдИ рд╢рд░реНрдо рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдп, @рдкреЛрдЯрд┐рдпреБрдХ! рдЕрдкрдиреА рд╕рд▓рд╛рд╣ рдФрд░ рд░рд╛рдп рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рдо рдЗрд╕реЗ рд╕рдВрдЬреНрдЮрд╛рди рдореЗрдВ рд▓реЗрдВрдЧреЗред

рд╣рдордиреЗ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдорд╛рдВрдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдкрд╛рдЗрдк рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдмреАрдЯрд╛ рдЕрд╡рдзрд┐ рдЪрд▓рд╛рдИ, рдЬрд┐рд╕рдХреА рд╢реБрд░реБрдЖрдд рдЬреБрд▓рд╛рдИ рдореЗрдВ рдкрд╛рдЗрдк 20.2 рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рд╣реБрдИ ред рдЬреЛ рд▓реЛрдЧ рд╣рдореЗрдВ рдирдП рдореБрджреНрджреЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ рдпрджрд┐ рдЖрдк рд╣рдореЗрдВ рдпрд╣ рднреА рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝ рд╕рдХреЗрдВ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХреЗрдВ рдЬреЛ рдЖрдк рдкреАрдЖрдИрдкреА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдмреАрдЯрд╛ рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдо рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реАрдЧреЗрд╕реА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рддреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдЗрдзрд░-рдЙрдзрд░ рд░рдЦрддреЗ рд╣реИрдВ, рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░реЛрд▓рдЖрдЙрдЯ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред

рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдпрд░рдлреНрд▓реЛ рд╕реНрдЯреЛрд░реА рдХреЛ рдпрд╣рд╛рдВ рдкрд╣рд▓реЗ рд╣реА рдкреВрд░реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпреЛрдВ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди https://github.com/pypa/pip/issues/9203#issuecomment -737878689 рд╕реЗ рдкрд╣рд▓реЗ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред

@potiuk рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рдЕрдиреНрдп рдкреНрд░рддрд┐рднрд╛рдЧреА - рдХреГрдкрдпрд╛ @potiuk рдХреЗ рдиреЗрддреГрддреНрд╡ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред

рдФрд░ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ - рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдереАред рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд▓рд╛рд╣ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдерд╛ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдзреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЛ рдХрд╛рдо рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдиреЗ рдХрд┐рддрдиреА рдореЗрд╣рдирдд рдХреА рд╣реИ! рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрдЭрд╛рд╡ рдерд╛, рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╡рд▓реЛрдХрди рдерд╛ рдХрд┐ рдЕрдм рдЖрдк рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдорд╛рддреНрд░рд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред рдпрд╣ рдХреЗрд╡рд▓ рдпрдерд╛рд░реНрдерд╡рд╛рджреА (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЖрдХрд▓рди рд╣реИ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдореЗрдВ рдХрд┐рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ! рдпрд╣ рдЗрд╕ рдмрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВред

рджреЛрдиреЛрдВ @potiuk рдХреЗ рдЕрдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдХрдВрдб - рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд╛рдЗрдк рдореЗрдВ "рдЙрдЪрд┐рдд" рд╕реЙрд▓реНрд╡рд░ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд┐рдВрдХ рдХреЛ рдЗрд╕рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдФрд░ рд╕рднреА рдкрд╛рдЗрдк рдЯреАрдо рдХреЗ рд▓рд┐рдП HugOps рдХреЗ рдмрд░рд╛рдмрд░ рдбреЗрд╡рд▓рдкрд░!

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЯреНрд░реИрдХрд░ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 2 рдмреИрдХрдЯреНрд░реИрдХ рдкрд░ рд░реБрдХрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрджрд┐ рдХреБрд▓ рдмреАрддрд╛ рд╣реБрдЖ рд╕рдордп рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдард╛рдирд╛ (рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЗ рдХрд╛ рдкреНрд░рд┐рдВрдЯ рдЖрдЙрдЯ рд▓реЗрдирд╛) рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ?

(рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ "рдкреИрдХреЗрдЬ рдФрд░ рд╕реНрд▓реЛрд▓реЛрд░рд┐рд╕ рдХреА рдПрдХ рдЕрдирдВрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ" рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдЕрднреА рднреА рдЕрд╕реАрдорд┐рдд рд╣реИ рдЬрдм рдХреЗрд╡рд▓ рдмреИрдХрдЯреНрд░реИрдХ рд╕реАрдорд╛ рд╣реЛрддреА рд╣реИ)

@westurner рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдХреЗ рдкрд╛рд╕ рддреЗрдЬрд╝ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдФрд░/рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдордп рдЖрдзрд╛рд░рд┐рдд рддрд░реАрдХреЗ рдРрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рдЗрдк рдХреЛ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛ рджреЗрдВрдЧреЗред

рдмреИрдХрдЯреНрд░реИрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдПрдХ рдмреЗрд╣рддрд░ рдЕрдиреБрдорд╛рдиреА рд╣реЛрдЧреАред

рдпрд╣ рдПрдХ рд▓рдВрдмрд╛ рдзрд╛рдЧрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╛рдп рдФрд░ рд╕реБрдЭрд╛рд╡ рд╣реИрдВред рдореИрдВ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЕрдиреБрднрд╡ рдпрд╣рд╛рдВ рднреА рдбрд╛рд▓реВрдВрдЧрд╛ред

рдХрд╛рдо рдкрд░, рдореИрдВ рдирдП рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ~ 70 рдЬрдЯрд┐рд▓ рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдмрдбрд╝реЗ рдПрдордПрд▓ рдврд╛рдВрдЪреЗ рдЬреИрд╕реЗ pytorch , tensorflow , рдЖрджрд┐ рдФрд░ boto3 рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрджрд┐рдЧреНрдз рдЬреИрд╕реЗ requests , Click , Flask ред рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ ~ 267 рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЙрддреНрдкрд╛рджрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рдмрд╣реБрдд рд░рд╛рдп рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЬрдм рд╡реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдПрдХ рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИред рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдпрд╛ рд░рд╛рдп рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдпрд╛ рд░рд╛рдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдпрд╛ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡рд╣ рдирд┐рдпрддрд╛рддреНрдордХ рдФрд░ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

lock рд╣рдорд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдП рдЧрдП рдкрд╛рдЗрдк-рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред

рд╣рдорд╛рд░рд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

  • рдбреЗрд╡рд▓рдкрд░ requirements.in рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ
  • рдбреЗрд╡рд▓рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрдВрддрддрдГ python3.7 -m piptools compile рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ
  • рдбреЗрд╡рд▓рдкрд░ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рд▓реЙрдХ рдХреА рдЧрдИ requirements.txt рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реЗрдкреЛ рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИ
  • рд╕реАрдЖрдИ рдХреЛ рдХреЗрд╡рд▓ рд▓реЙрдХ рдХреА рдЧрдИ requirements.txt рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдЪрд┐рдд рд╕рдордп рдореЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ

рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ "рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ" рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдЬреИрд╕реЗ рдПрдпрд░рдлреНрд▓реЛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ "рд▓реВрд╕рд░" рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ awscli, boto, airflow рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдЙрдЪрд┐рдд рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреА рдХреБрдЫ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред рдЬрд╛рд╡рд╛ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реЗ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдЗрд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдкрд╛рдпрдерди рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдкреАрдИрдкреАрдЖрдИ рдХреЗ рдХреБрдЫ рд╕реНрдерд┐рд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
https://github.com/DavHau/pypi-deps-db

рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд▓рд┐рдВрдХ рдордЪ-рдирд┐рдХреНрд╕ рд╕реЗ рд╣реИ рдЬреЛ рдирд┐рдХреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рдХреЛ рд╕реБрдЦрдж рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рдпрдерди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдРрд╕реЗ рдЪрд░рдо рддрдВрддреНрд░ рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдорджрдж рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рдЪреАрдЬреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдПрдВ рдЬреЛ рдЗрдВрд╕реНрдЯреЙрд▓-рд╕реНрддрд░реАрдп рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдЕрдирдВрдд рдЕрдиреБрдХреНрд░рдо рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

  • рдмреИрдХрдЯреНрд░реИрдХ рдХреА рд╕рдВрдЦреНрдпрд╛

    • 100?

  • рдХреБрд▓ рд░рдирдЯрд╛рдЗрдо

    • 1 рдШрдВрдЯрд╛?

  • рдмрдВрдбрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛

    • 1000?

рдЗрдиреНрд╣реЗрдВ pip.conf рдФрд░/рдпрд╛ PIP_ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд (рдмреИрдВрдбрд╡рд┐рдбреНрде, рд╕реАрдкреАрдпреВ рд╕рдордп) рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдкрд┐рди рдХрд░рдирд╛ рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЧрдВрднреАрд░ рдЧрдВрднреАрд░рддрд╛ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордп рдореЗрдВ рджреЗрд░реА рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗ рд╕рдХрддрд╛ рд╣реИ: (рдЬреИрд╕реЗ SemVer) рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдмрдВрдж рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ) рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкреАрдЖрдИрдкреА рдкреВрд░реНрдг рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рддрд░рдг рдЬреАрд╡рдирдЪрдХреНрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: pip install -U рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдХрд╛рдо рдирд╣реАрдВ: рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ pip install рдЪрд▓рд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдлрд┐рд░ рднреА (рдЬрдм рддрдХ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ --no-cache TBH рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ )

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jiapei100 picture jiapei100  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ncoghlan picture ncoghlan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

therefromhere picture therefromhere  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lululukas picture lululukas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nathan130200 picture nathan130200  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ