Pip: рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ --рдбреНрд░рд╛рдИ-рд░рди` рдпрд╛ рд╕рдорд╛рди рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдорд╛рд░реНрдЪ 2011  ┬╖  58рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pip

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧреА?

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

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

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

рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

8032 рдПрдХ pip install --dry-run рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИред

7819 pip resolve рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИред

1345 рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИрдВред :)

рд╕рдорд╕реНрдпрд╛ рдЯреНрд░реИрдХрд░ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдФрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди

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

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


рдиреЛрдЯ: рдЗрд╕ рд╡рд┐рд╡рд░рдг рдХреЛ рдЕрдкреНрд░реИрд▓ 2020 рдореЗрдВ @pradyunsg рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЗрддрд┐рд╣рд╛рд╕ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рджреЗрдЦреЗрдВ), рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреБрдЫ рдмрд╣реБрдд рдкреБрд░рд╛рдиреА, тАЛтАЛрдкреБрд░рд╛рдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

dependency resolution UX feature request

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

рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕рдВрдХрд▓реНрдк рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛рд░реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ AFAIK рдкрд╛рдЗрдк рдЕрдиреБрд░рдХреНрд╖рдХ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╛рд╣рд░реА рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

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

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

рдкрд╕рдВрдж:

$ pip list Django

1.2.4

1.2.3

1.2.2

1.2.1

1.2

1.1.3

1.1.2

1.0.4

$

Original Comment By: Hugo Lopes Tavares

рдореБрдЭреЗ рд╡рд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред


Original Comment By: CarlFK

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

рдЗрд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://bitbucket.org/hltbra/pip-list-
рдХрдорд╛рдВрдб/рдЪреЗрдВрдЬрд╕реЗрдЯ/e5c135a46204


Original Comment By: Hugo Lopes Tavares

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


Original Comment By: Carl Meyer

рдЬрдм рддрдХ рдореЗрд░рд╛ рдЕрдиреНрдп рдИрдЖрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдореИрдВ рдЗрд╕реЗ рдЦреЛрдЬ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реВрдВрдЧрд╛
рдЗрддрдирд╛ рднреА рдХрд┐ рдЬрдм рдореИрдВ django рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ 3000 рд▓рд╛рдЗрдиреЗрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ) рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВред
(рд╕рднреА django-foo . рдХреЗ рдХрд╛рд░рдг "рдкрд╛рдЗрдк рд╕рд░реНрдЪ django" рдХреЗ рд▓рд┐рдП 1000 рд╕реЗ рдЕрдзрд┐рдХ рд╣рд┐рдЯ рд╣реИрдВ
рдкреИрдХреЗрдЬред )


Original Comment By: CarlFK

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рддрдм рддрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ
рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛
рдпреЗ рдирд╡реАрдирддрдо рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдирдП рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ
рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдУрд╡рд░рд╣реЗрдб рд╢реВрдиреНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣реИ
рдмрд╕ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдмрджрд▓рд╛рд╡:
https://bitbucket.org/jumpa/pip/changeset/62076643cf33


Original Comment By: jumpa

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

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


Original Comment By: Hugo Lopes Tavares

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

рдФрд░ рдореИрдВ рдХрд╛рд░реНрд▓рдПрдлрдХреЗ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдЦреЛрдЬ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рд╕рдВрдХреАрд░реНрдг рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ PyPI рдХрд╛ API рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ,
рдЬреЛ рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реИ: рд╣рдо рд╕рднреА рдкреАрдИрдкреАрдЖрдИ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд░реЗрдЧреЗрдХреНрд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЦреЛрдЬреЗрдВ! рдореИрдВ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --exact рдзреНрд╡рдЬ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ
рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "--exact django" рдФрд░ рдХреЗрд╡рд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╣реА djangoред


Original Comment By: Carl Meyer

рд╣рд╛рдп рдЬрдореНрдкрд╛, xmlrpc рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдЪрд╛рд░
рдХрдиреЗрдХреНрд╢рди!

рдореБрдЭреЗ рдкрд┐рдк рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдирд┐рдк рдорд┐рд▓рд╛ рд╣реИ:

pip                       - pip installs packages.  Python packages.  An

Easy_install рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди (рд╕рдВрд╕реНрдХрд░рдг: 0.2, 0.2.1, 0.3, 0.3.1, 0.4, 0.5, 0.5.1,
0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1, 0.7.2, 0.8, 0.8.1, 0.8.2)

рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреИрдХреЗрдЬреЛрдВ рдХреА рдЗрддрдиреА рдмрдбрд╝реА рд╕реВрдЪреА рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИ -
рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдЦреЛрдЬ рдирд╛рдореЛрдВ рдФрд░ рд╕рд╛рд░рд╛рдВрд╢реЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреА рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?


Original Comment By: Hugo Lopes Tavares

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

pip list Django


1.2.4

1.2.3 installed

1.2.2

1.2.1

1.2

1.1.3

1.1.2

1.0.4

рдиреЛрдЯ: рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдЬреИрд╕реЗ YUM(RedHat), pkglist(BSD),
dpkg(Debain) рдПрдХ рдЕрд▓рдЧ рд╕реВрдЪреА рдзреНрд╡рдЬ рдпрд╛ рдЖрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


Original Comment By: Kelsey Hightower

рдХрд╛рд░реНрд▓, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рджрд┐рди рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рд╣реЛрдЧрд╛
рдХреЗрд▓реНрд╕реА: рдПрдХ рдФрд░ рдЖрджреЗрд╢ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИред

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

рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд╣реИред

рдЖрдЗрдП рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

$ pip search -v --exact Django

рдмрдирд╛рдо

$ pip list Django

рдХреЗрд▓реНрд╕реА рдХрд╛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рд╕реВрдЪреА рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ
рдЖрджреЗрд╢ред


Original Comment By: Hugo Lopes Tavares

рдореИрдВрдиреЗ рд╕рд░реНрдЪ рдХрдорд╛рдВрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВред

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

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗрдЯ рд╣реИ: https://github.com/phuihock/pip/commit/46bad23b5bf31850a02803ea1ca18be5deca9db3

рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ PyPI рдкрд░ рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ?

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

рдмрд╕ рдпрд╣рд╛рдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдореИрдВ рдмрд╕ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ ... рдореИрдВрдиреЗ pip search -v рдкреИрдХреЗрдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рд╣реЛрддрд╛: рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рд╡рд░реНрдмреЛрдЬрд╝ рд╡рд┐рд╡рд░рдг рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣рд┐рдд рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП ...

рдореЗрд░реЗ рдПрдХ рд╕рд╣рдпреЛрдЧреА рджреНрд╡рд╛рд░рд╛ рдореБрдЭрд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ _just_ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрднреА рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреАрдЖрдИрдкреА рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА?

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдкреАрдЖрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

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

+1,000,000

рдФрд░ рдЕрдм рдХреИрд╕рд╛ рд╣реИ?

рдЕрдм, рдХреНрдпрд╛ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдирд╡реАрдирддрдо рд╣реИ?
рдпрд╣ рдореБрджреНрджрд╛ 2011 рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдКрдкрд░ рдЬреЛ рдкреИрдЪ рджреЗрдЦрд╛ рд╣реИ рд╡рд╣ рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рдЗрди рд╣реИред :(

рдпрд╣ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ apt-cache madison рдХрд╣рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдХреИрд╕реЗ рдирд╣реАрдВ рд╣реИ?

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

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

wget -qO- https://pypi.python.org/pypi/uWSGI | egrep -o "uwsgi-[0-9].[0-9].[0-9][0-9].tar.gz" | рд╕реЙрд░реНрдЯ -рдпреВ

wget -qO- https://pypi.python.org/pypi/uWSGI/json | grep '"version"'

@andreif рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдвреВрдВрдвреЗрдЧрд╛ (рдкрд╛рдЗрдк рдЕрд▓реНрдлрд╛, рдмреАрдЯрд╛, рд░рд┐рд▓реАрдЬ рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ --pre рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдпрд╣ рдХрд░реАрдм рд╣реИ (рд▓реЗрдХрд┐рди рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ):
wget -qO- https://pypi.python.org/pypi/uWSGI/json | grep -E ' {8}"[0-9."]*": \[' | sort -V | tail -n 1 | tr -d ' ":['

рдареАрдХ рд╣реИ, рддреЛ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП "pre-version": "1.2.3a4" , рддрд╛рдХрд┐ рдХреЛрдИ рд╕рд░рд▓ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдХреЛ grep рдХрд░ рд╕рдХреЗред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ... рдпрд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ?

  • pip install рдкрд░ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдЬреЛ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рддрдХ рдкрд╛рдЗрдк рдЪрд▓рд╛рдПрдЧрд╛ рдФрд░ рдЪрдпрдирд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдЧрд╛ (рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░)?
  • pip search рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкреИрдХреЗрдЬ рдирд╛рдореЛрдВ рдХреЗ рдЖрдЧреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ?

    • PyPI рдкрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдореБрдЭреЗ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкреВрд░реНрд╡ рдХреЛ рд╢рд╛рдпрдж рдПрдХ рдирдпрд╛ рд╕рдорд░реНрдкрд┐рдд рдореБрджреНрджрд╛ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

@pradyunsg рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рдпрд╛рдж рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИ (рд░рд┐рд▓реАрдЬ рдФрд░ рдкреНрд░реА-рд░рд┐рд▓реАрдЬ рджреЛрдиреЛрдВ)ред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг pip install -U [--pre] рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

pkg="foo"; pip install --download /dev/null --no-cache-dir --no-binary :all: "$pkg" 2>&1 | egrep -i "$pkg"'-' | head -1 | egrep -io "$pkg"'-[^ ]+' | sed 's/^'"$pkg"'-\(.*\)\.tar\.gz$/\1/g'

рдкреЛрд╕реНрдЯ --download - рдкрджрд╛рд╡рдирддрд┐ рд╕рдВрд╕реНрдХрд░рдг...

pkg="foo"; tmp="$(mktemp -d)"; pip download -d "$tmp" --no-cache-dir --no-binary :all: "$pkg" 2>&1 | egrep -i "$pkg"'-' | head -1 | egrep -io "$pkg"'-[^ ]+' | tr A-Z a-z | sed 's/^'"$pkg"'-\(.*\)\.tar\.gz$/\1/g'

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

pip install foo==

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

Could not find a version that satisfies the requirement molecule== (from versions: 1.20.1, 1.20.3, 1.21.1, 1.22.0, 1.23.0, 1.25.0, 1.25.1, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.12.1, 2.13.0, 2.13.1, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.18.1, 2.19.0) No matching distribution found for molecule==

рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░/рдпрд╛ рдЗрд╕реЗ dev/null рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ :-)

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

рдкрд╛рдЗрдк-рдЯреВрд▓реНрд╕ рдкрд╛рдЗрдк рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреВрдЫреА рдЬрд╛ рд░рд╣реА рдХреБрдЫ рдЪреАрдЬреЛрдВ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ: https://github.com/jazzband/pip-tools

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

pkg="django"; echo "$pkg" | pip-compile - --output-file - | egrep -i '^'"$pkg"'=' | cut -d '=' -f 3- рдмрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ (рдЕрдзрд┐рдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдпрджрд┐ рдЖрдк рдЧрд┐рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рдФрд░ рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ [рдЖрдЧреЗ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЕрдЧрд░ рдЖрдкрдХреЛ python2 рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ])

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдЗрдк-рдЯреВрд▓реНрд╕ (рдФрд░ рдкрд┐рдкреЗрдирд╡) рдХреЗ рдкреВрд░реЗ рдмрд┐рдВрджреБ рдХреЛ рд╕рд╛рджреЗ рдкрд╛рдЗрдк рдФрд░ рдПрдХ рдмрд╛рдзрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ( pip install -r reqs -c constraints; pip freeze > constraints )ред

pip install рдкрд░ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рдЬреЛ рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рддрдХ рдкрд╛рдЗрдк рдЪрд▓рд╛рдПрдЧрд╛ рдФрд░ рдЪрдпрдирд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдЧрд╛ (рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдЫреЛрдбрд╝рдХрд░)?

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


рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕рдореВрд╣ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд░рд╛рдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд▓реЗрдХрд░, рдЬрд┐рдирдореЗрдВ рдЕрдм рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдВрджрд░реНрдн рд╕рдВрд▓рдЧреНрди рдирд╣реАрдВ рд╣реИ, рдЬрд┐рдирдореЗрдВ "рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИрдХреНрд╕/рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдирдЧреЗрдЯреНрд╕" рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП 90%-рдСрдл-рдж-рдЬреЙрдм рдХрд░рддреЗ рд╣реИрдВред рдмрд╛рдж рд╡рд╛рд▓реЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ - рдРрд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рд╛рдпрддрд╛ рдлрд╝реЛрд░рдо рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рд╕реБрдЭрд╛рд╡ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдВрдЧреЗ, рди рдХрд┐ рдЗрд╕ рдлрд╝реЛрд░рдо рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЯреВрд▓ рдореЗрдВ рдлрд┐рдХреНрд╕ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред :)

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

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

рд╣рдореЗрдВ рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рдирдХреЗ рддрд╣рдд рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдЯрд┐рд▓ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдкреАрдЖрдИрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ:

  1. рдирдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдЖрдЬрд╝рдорд╛рдПрдВ (рд╕рдВрд╕реНрдХрд░рдг 20.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, --unstable-feature=resolver рдЪрд▓рд╛рдПрдВ)
  2. рдЗрд╕реЗ рддреЛрдбрд╝реЛ: рдкреА
  3. рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рдЖрдк рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

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

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

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

URL рдХреЛ v1 рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреА рд╣рд┐рдореНрдордд рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рддрдХ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # 7819 рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рдмрд╣реБрдд рдХрдо рдкреНрд░рдпрд╛рд╕ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЗрд╕реЗ v2 рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рдЕрднреА рд╣рдо рд╢рд╛рдпрдж --dry-run рдпрд╛ resolve рдХрдорд╛рдВрдб рдХреЗ рдХреБрдЫ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╢рд┐рдк рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдбрд╛рдЙрдирд▓реЛрдб рдпреВрдЖрд░рдПрд▓ рдХреЛ рдереВрдХ рджреЗрддрд╛ рд╣реИ - рдЕрдЧрд░ рд╣рдо рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреА рдЗрд╕ рдмреАрдЪ --unstable-feature=resolver рдХреЗ рд╕рд╛рде рд╢реЗрд╖ рдореБрджреНрджреЗ! :рдбреА :рдбреА

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

рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!!

рд░рд╡рд┐рд╡рд╛рд░ 24 рдордИ, 2020 рдХреЛ 19:34 рдмрдЬреЗ рддреНрдЬрд╝реБ-рдкрд┐рдВрдЧ рдЪреБрдВрдЧ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдСрд░реНрдереЛрдЧреЛрдиреНрдЯрд▓ рд╣реИ
рд╕рдорд╛рдзрд╛рдирдХрд░реНрддрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ
рд╡рд░реНрддрдорд╛рди рдкреАрдЖрдИрдкреА рдкрд░рд┐рдпреЛрдЬрдирд╛ред рд╡рд┐рд╖рдп рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛ рдЪреБрдХреА рд╣реИ
https://discuss.python.org/t/structured-exchangeable-lock-file-format-requirements-txt-2-0/876/1
(рдЪреЗрддрд╛рд╡рдиреА: рдмрд╣реБрдд рд▓рдВрдмрд╛ рдзрд╛рдЧрд╛), рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░ рд╕рдордп рдХреА рдХрдореА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП
рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдЧрдВрднреАрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧреА
рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрдо рд╕реЗ рдХрдо рд╕реНрдерд┐рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрддрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/pypa/pip/issues/53#issuecomment-633346918 , рдпрд╛
рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд
https://github.com/notifications/unsubscribe-auth/AAJ6UT3IK65CUQGUIOGBNVDRTHKMVANCNFSM4AIQRXLA
.

@cosmicexplorer рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрднреА рддрдХ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ --dry-run рдпрд╛ resolve рдХрдорд╛рдВрдб рдХреЗ рдЙрд╕ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ рд╣реИ? рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

pip install foo==

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

Could not find a version that satisfies the requirement molecule== (from versions: 1.20.1, 1.20.3, 1.21.1, 1.22.0, 1.23.0, 1.25.0, 1.25.1, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.12.1, 2.13.0, 2.13.1, 2.14.0, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.18.1, 2.19.0) No matching distribution found for molecule==

рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░/рдпрд╛ рдЗрд╕реЗ dev/null рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ :-)

рдЕрдЪреНрдЫреА рдЪрд╛рд▓ !! рдЙрдкрдпреЛрдЧреА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ !! рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ !!

рд╕рдВрднрд╛рд╡рд┐рдд рд╣реИрдХреНрд╕/рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдирдЧреЗрдЯреНрд╕ ... рдХреГрдкрдпрд╛ рдмрд╛рдж рдХреЗ рдФрд░ рдЕрдзрд┐рдХ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ - рдРрд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рд╛рдпрддрд╛ рдлрд╝реЛрд░рдо рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡реЗ рд╕реБрдЭрд╛рд╡ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдВрдЧреЗ, рди рдХрд┐ рдЯреВрд▓ рдореЗрдВ рдлрд┐рдХреНрд╕ рдХреЛ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордВрдЪ рдкрд░ рдирд╣реАрдВред :)

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

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

рдФрд░ рд╣рд╛рдБ, рдпрд╣ рд╡рд╣реА рдЯрд┐рдкреНрдкрдгреА рднреА рд╣реЛрддреА рд╣реИ рдЬреЛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдкрдиреЗ рдЗрд╕ рд╕реНрдЯрд┐рд▓-рдУрдкрди рдмрдЧ рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рдЬреЛ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╣реЛрддрд╛ рд╣реИред

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

рдЖрдкрдХреЗ рдХреГрддрд╛рд░реНрде рд╣реЗрддреБ рдзрдиреНрдпрд╡рд╛рджред :)

@brainwane @ei8fdb рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ UX рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - #8377 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд

рдореЗрд░реА рд╕рдордЭ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд╕рд╛рд░рд╛рдВрд╢:

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреА рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ (рдпрд╛рдиреА requirements.txt рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рдпрд╛ рд╕реАрдзреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдзреНрд╡рдЬ рдирд╛рдо ( --dry-run ) рдкрд░ рд╢реЛрдз/рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

@uranusjr @pfmoore - рдЕрдЧрд░ рдореБрдЭреЗ рдХреБрдЫ рднреА рдЧрд▓рдд рд▓рдЧрд╛ рд╣реИ, рдпрд╛ рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЫреВрдЯ рдЧрдпрд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВред рдзрдиреНрдпрд╡рд╛рдж

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

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

рдпрд╣ pip resolve рдХрдорд╛рдВрдб рдХрд╛ рд░реВрдк рднреА рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

pip resolve рд╡рд╣ рд╣реИ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдореНрдореАрдж рдХрд░реЗрдЧрд╛, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ рдХрд┐ ЁЯШД рдпрд╣ рдЕрдВрддрддрдГ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЭрдВрдбреЗ рдХреЗ рд▓рд┐рдП рднреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг @pfmoore рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ --dry-run рдХрд╛ рдХрд┐рддрдирд╛ рдЙрдкрдпреЛрдЧ --dry-run resolve рдмрд┐рдирд╛ рд╣реИ?

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

рддреЛ, рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ --dry-run рдЪрд▓рд╛рддрд╛ рд╣реИ ... рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ред рдкрд╛рдЗрдк d 1.0 рдФрд░ c 1.0 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╕рдВрдШрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ:
рдбреА 1.0 рдИ == 2.0 . рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рд╕реА 1.0 рдИ == 1.0 . рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрднрд░рддрд╛ рд╡реГрдХреНрд╖ рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pip resolve рдЪрд▓рд╛рдПрдБред

рд╣рдо pip resolve рдХреЛ ResolutionImpossible рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ (#8377 рджреЗрдЦреЗрдВ) рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрдбрд╝реА рдЬреАрдд рд╣реЛрдЧреАред

@pradyunsg рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ pip resolve рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЯрд┐рдХрдЯ рд╣реИ?

рд╕рд╛рде рд╣реА, рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ pip resolve рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗрд╕ рдпрд╛ рддреЛ (рд╕рдлрд▓рддрд╛ рдорд╛рдирддреЗ рд╣реБрдП) рд╣реИ:

  1. рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ (рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдЧрд╛), рдпрд╛
  2. рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ/рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗ

рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд▓рд┐рдП, #7819 рдореЗрдВ рд╡рд░реНрдгрд┐рдд "рдЖрдИрдкреАрдПрдХреНрд╕" рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо pip resolve рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреАрдПрдХреНрд╕ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рднреА рд╣рд▓ рдХрд┐рдП рдЧрдП рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдпреВрдЖрд░рдПрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ (рдЕрднреА рддрдХ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ) ) рдпрд╣, рдХрдИ рдЕрдиреНрдп рдЕрдиреБрдХреВрд▓рди рдЬреИрд╕реЗ #8448 рдХреЗ рд╕рд╛рде, рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдЗрди ipex рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпреЗ ipex рдлрд╝рд╛рдЗрд▓реЗрдВ рддрдм рд╕рднреА рд╡рд┐рддрд░рдг рдЖрдЙрдЯрдкреБрдЯ рдХреЛ pip resolve рдХрдорд╛рдВрдб рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреА рд╣реИрдВ, рдЬрдм рд╡реЗ рдкрд╣рд▓реА рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕реА рдбреЗрдЯрд╛рд╕реЗрдВрдЯрд░ рдХреЗ рднреАрддрд░ рд╕реЗ - рдпрд╣ ipex рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмрдЬрд╛рдп рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЕрдкрд▓реЛрдб рд╕рдордп рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рд╕реЗред

рдЗрд╕рд▓рд┐рдП рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ pip resolve рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдПрдХ json рд╕рдВрд╕реНрдХрд░рдг рдХреЛ pex рдЖрд░реНрдХрд╛рдЗрд╡ рдореЗрдВ рдПрдХ рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╡рд┐рддрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрджреНрдпрддрди?

рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕рдВрдХрд▓реНрдк рдкрд░рд┐рдгрд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛рд░реНрдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ AFAIK рдкрд╛рдЗрдк рдЕрдиреБрд░рдХреНрд╖рдХ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╛рд╣рд░реА рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

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

  • рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЗрд╕рдХреЗ setup.py рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
  • --dry-run рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд┐рдирд╛, рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдХрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреМрди рд╕реЗ рд╕рдВрдХреБрд▓ рдХреЛ рд╕рдВрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдиреЗрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pip install рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐рд╕реА рдХреА рдорд╢реАрди рдкрд░ рдкреАрдИрдкреАрдЖрдИ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЪрдпрди рд╕реЗ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдорддрд┐ рджреЗрдирд╛, рдЗрд╕реЗ рдСрдбрд┐рдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╣ рдЪрдпрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреИрдХреЗрдЬ рд▓реЗрдЦрдХреЛрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдерд╛рдУрдВ рдкрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрд░реЛрдд рд╡рд┐рддрд░рдг рд╣реИ (sdist, рдЬрд┐рд╕рдореЗрдВ setup.py рд╢рд╛рдорд┐рд▓ рд╣реИ) рдпрд╛ рдкрд╣рд┐рдП рднреА рд╣реИрдВ (рдирд┐рд░реНрдорд┐рдд рд╡рд┐рддрд░рдг, рдПрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдордирдорд╛рдиреЗ рдХреЛрдб рдХреЗ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ --dry-run рдХреЗ рд╕рд╛рде, рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ pip рдХреЛ рд╕рдВрдХреБрд▓ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдмреИрдХрдПрдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬрд┐рд╕рдореЗрдВ setuptools рдХреЗ рд▓рд┐рдП, setup.py рдЪрд▓рд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд┐рдпреЗ рдирд╣реАрдВ рд╣реИрдВред

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

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

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

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

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

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

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