Pipenv: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ PyPI рдЗрдВрдбреЗрдХреНрд╕ URL рдХреЛ PyPI рдорд┐рд░рд░ URL рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рджреЗрдВ (Pipfile рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЕрдкреНрд░реИрд▓ 2018  ┬╖  46рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pipenv

рд╣реИрд▓реЛ рд╕рднреА рдХреЛ,

рд╕реНрдерд┐рддрд┐

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рджрд░реНрдкрдг рдкрд░ рдЗрдВрдЧрд┐рдд URL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ PyPI рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ URL рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рджрд░реНрдкрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛рдлреА рдЖрдо рд╣реИ:

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

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдкреЗрдирд╡ рджреНрд╡рд╛рд░рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рджрд░реНрдкрдг рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдкрдлрд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕реБрд╡рд╛рд╣реНрдпрддрд╛ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред

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

рдПрдХ (рд╕рдЪ) рджрд░реНрдкрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдкреАрдИрдкреАрдЖрдИ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЗрд╡рд▓ PyPI рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдЧрд╛, рди рдХрд┐ рдЕрдиреНрдп рддреГрддреАрдп-рдкрдХреНрд╖ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ (рдпреЗ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ Pipfile рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ)ред

рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╕реНрддрд╛рд╡

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

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдЪрд╛рд░

  1. рдкрд┐рдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд╛рдЗрдк рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЖрдВрддрд░рд┐рдХ рджрд░реНрдкрдг рдХреЗ url рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛), рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдЪреНрдЪреЗ рджрд░реНрдкрдг рдирд╣реАрдВ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИред
  2. рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╕рднреА PyPI рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдпрд╣ рдореЗрд░реА рд╕рдордЭ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд╕реНрд░реЛрдд рдХреЛ Pipfile рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ pip рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдкреАрдкреАрдкреАрдЖрдИ рдХреЗ рдмрд╛рд╣рд░ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЪреВрдВрдХрд┐ рдкрд┐рдкрдлрд╛рдЗрд▓ рдкреАрдврд╝реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдИ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдбреЗрдХреНрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЛ рд╣рдЯрд╛рдХрд░ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдпреЛрдЧреНрдпрддрд╛ рдкрд┐рдкрдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
  3. рдпрджрд┐ рдкрд┐рдкрдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЪрд░ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рджрд░реНрдкрдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЗрд╕ рдкреИрдЯрд░реНрди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкрд┐рдкрдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред
  4. рдпрджрд┐ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреИрд░рд╛рдореАрдЯрд░, рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреАрдИрдкреАрдЖрдИ рдЗрдВрдбреЗрдХреНрд╕ рдпреВрдЖрд░рдПрд▓ рдХреЛ рдПрдХ (рд╕рддреНрдп) рджрд░реНрдкрдг рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рджрд░реНрдкрдг рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЛ рд╕рднреА рдХреЙрд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдЕрдиреНрдпрдерд╛ PyPI рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рдкрд┐рдкрдлрд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА? рдХреНрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдХреИрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкреАрдИрдкреАрдЖрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ? рдХреБрдЫ рдФрд░?

рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛

1451

1783

рдлрд╝реНрд░реАрдиреЛрдб рдкрд░ #python рдФрд░ #pypa рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдХреБрдЫ рд░рдЪрдирд╛рддреНрдордХ рдЖрдЧреЗ-рдкреАрдЫреЗ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рд╕рднреА рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

Dependency Resolution Future API Change Behavior Change Discussion

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

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

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

/cc @uranusjr @ncoghlan @altendky @njsmith

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рд╣реЛрддреА рд╣реИ (рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкрд░рд┐рд╡рд╛рд░ рдХрд▓реНрдпрд╛рдг/рдХреИрд╢рд┐рдВрдЧ рдкреНрд░реЙрдХреНрд╕реА) - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдкреАрдкреАрдЖрдИ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░реНрдкрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд░рд╛рдЗрдб рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдкрд╛рдЗрдкрдлрд╛рдЗрд▓ рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВ- рдЬреИрд╕реЗ PIPENV_PYPI_MIRROR рдпрд╛ PIPENV_PYPI_CACHING_PROXY рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдореВрд▓ рд░реВрдк рд╕реЗ рдкреАрдкреАрдЖрдИ рдХреЗ рд╕рд╛рдордиреЗ sources рдореЗрдВ рдХрдЯрд╛ рд╣реБрдЖред

рдХреНрдпрд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓рдХреНрд╖реНрдп рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╣рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬрд┐рдиреНрди рдореЗрдВ рдЯреИрдЧ рдХрд░рдХреЗ рд╣рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдпрд╛ рдмреБрд░рд╛ рдХреНрдпреЛрдВ рд╣реИ (@ncoghlan)

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

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд╣ рд╡рд┐рд╢реЗрд╖ рд╣рдорд▓рд╛ рд╡реЗрдХреНрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА pip.conf рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП pipenv рд╕реНрддрд░ рдкрд░ рддреБрд▓рдиреАрдп рдХреБрдЫ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рд╕реЗ рдХреБрдЫ рднреА рдкрд╣рд▓реЗ рд╕реЗ рднреА рдмрджрддрд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

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

pipenv --override-source-url 'default=https://pypi-proxy.example.com/api' --override-source-url 'https://pypi.python.org/simple=https://pypi-proxy.example.com/api'  --override-source-url 'https://pypi.org/simple=https://pypi-proxy.example.com/api' install

(рдкрд╛рдЗрдк рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрд░реЛрдд рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреАрдИрдкреАрдЖрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдЯ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ pip.conf рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ)ред

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

pipenv --override-source-urls <config file> install

pipenv --pypi-mirror https://pypi-proxy.example.com/api install

--override-source-url рдкрд░рдд рдХреЛ рддреБрд░рдВрдд рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╕рд╡рд╛рд▓ рд╣реИ - рдпрд╣ рдкрд╣рд▓реЗ рд╕рд░рд▓ --pypi-mirror рд╡рд┐рдХрд▓реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ --override-source-url рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ --override-source-urls рдРрд╕рд╛ рдХрд░рддреЗ рд╕рдордп рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп {given URL: override URL} рдореИрдкрд┐рдВрдЧ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рднреА рдерд╛, рд▓реЗрдХрд┐рди рдЖрдЧреЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдкрд░, рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рдкреАрдИрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд░реНрдХ рд╣реИрдВ:

  • рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ URL рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рджрд░реНрдкрдг рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг PyPI рдмрд╣реБрдд рд╣реА рдЕрдиреВрдард╛ рд╣реИ

  • рдкреАрдИрдкреАрдЖрдИ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рдпреВрдЖрд░рдПрд▓ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ https://pypi.python.org/simple рдФрд░ https://pypi.org/simple рдФрд░ рд╢рд╛рдпрдж https://pypi.python.org/simple/ рдФрд░ https://pypi.org/simple/ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкрд┐рдкрдлрд╛рдЗрд▓реНрд╕ рддреИрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред

@njsmith рдореЗрд░реА рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ --pypi-mirror <URL> рдЪреАрдиреА рд╕реБрдЭрд╛рд╡ рджреЗрдЦреЗрдВ - рдпрджрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗрд╡рд▓ рдЙрд╕ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп URL рдкреБрдирд░реНрд▓реЗрдЦрди рдХреНрд╖рдорддрд╛ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЗрд╕ рддрдереНрдп рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ рдХрд┐ " PyPI" рдореЗрдВ рдХрдИ рдпреВрдЖрд░рдПрд▓ рд╣реИрдВ рдЬреЛ рдЕрдВрддрддрдГ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╣рд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ), рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╕рдкреЛрдЬрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдкреБрд╖реНрдЯрд┐ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ --pypi-mirror рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдорд╛рдорд▓рд╛)ред

рдЖрд╣, рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ :-)

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

@ncoghlan рдиреЗ рд▓рд┐рдЦрд╛:

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

рдЕрдЧрд░ рдореИрдВ рдЕрдкрдирд╛ Pipfile.lock рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдкреИрдХреЗрдЬ рдХреЗ рдмреАрдЪ рдХреЛрдИ рд╕рдВрдмрдВрдз рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдХрд┐рд╕ рд╕реНрд░реЛрдд рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореМрдЬреВрджрд╛ рдлреАрдЪрд░рд╕реЗрдЯ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ? рдПрдХ sync рдПрдХ рдЕрд▓рдЧ рд╕реНрд░реЛрдд рд╕реЗ рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рд▓реЙрдХрдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

рдРрд╕реЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВ рдХрд┐ рд╕рдЦреНрдд рд╕реБрд░рдХреНрд╖рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╕рдВрдЧрдарди рд▓реЙрдХ рдбрд╛рдЙрди рд╕рд░реНрд╡рд░ рдкрд░ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рд╕реАрдорд┐рдд рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЕрдиреНрдпрдерд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ :)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреИрдХреЗрдЬ рдЧреИрд░-рдкреНрд░рд╛рдердорд┐рдХ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕реЗ рдЖрддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдореИрдВрдиреЗ, рдпрд╛ рдХреБрдЫ рдордирдорд╛рдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛ рдореИрдВрдиреЗ рдЕрдкрдиреА рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЬреИрд╕реЗ рдХрд┐ рдПрдХ sdist рдХреА setup.py рдлрд╝рд╛рдЗрд▓) рдореЗрдВ рд▓реЗрдЦрди рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╕рдордп рдореЗрдВ рдЪрд▓рд╛рдИ, рдкреИрдХреЗрдЬ рдХреЗ рдЗрд╕ рд╕реНрд░реЛрдд рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛

рдпрджрд┐ рдпрд╣ рдЖрдкрдХрд╛ рдЦрддрд░рд╛ рдореЙрдбрд▓ рд╣реИ, рддреЛ рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдкрд┐рдкреЗрдирд╡ рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рдЗрд╕реЗ рдХрд┐рддрдирд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЖрдкрдХреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣ $PATH рдкрд░ рдПрдХ рдирдИ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдбрд╛рд▓рдиреЗ рдЬреИрд╕реЗ рдХрд╛рдо рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдирдХрд▓реА рдкрд┐рдкреЗрдирд╡ рдбрд╛рд▓реЗрдВ рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

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

@ncoghlan @njsmith sudo pip install... рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡рд╛рдкрд╕ рдзрдХреНрдХрд╛ рджреЗрдиреЗ рдХреЗ рдХрджрдо рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рд░рдХ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЬреНрдЮрд╛рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдкреАрдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЕрдкрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдкрд╛рдЗрдерди рдЪреАрдЬреЛрдВ рдХреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдкрд┐рдкреЗрдирд╡ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдЕрднреА рд╣реИ рдФрд░ рдпрд╣ рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░ рд╕рдХрддреА рд╣реИ ...

@techalchemy рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рджреЗрдирд╛ рдЬреЛ PyPI рдХреЗ рд▓рд┐рдП рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЦрддрд░рд╛ рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ sudo pipenv рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рднреА рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?

@njsmith рдирд╣реАрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рднреА sudo pipenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рд╖рдп рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдо рдЦрддрд░реЗ рдХреЗ рдореЙрдбрд▓ рдкрде рд╕реЗ рдереЛрдбрд╝рд╛ рдиреАрдЪреЗ рдЪрд▓реЗ рдЧрдП, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЦреЛрдЬ рдХреЗ рд▓рд╛рдпрдХ рдерд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ:

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

рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреНрд╖рдорддрд╛ рдореЗрдВ рд░рдХреНрд╖рд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдЪрд╛рдмрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдБред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ @ncoghlan рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди sudo pipenv рдирд╣реАрдВ, рдпрд╣ рдХрднреА рднреА рдмрд╛рдд рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП)

рд╣рд╛рдБ, рд╢рд╛рдпрдж рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдмрд╕ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн рдЗрд╕реЗ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ

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

рдареАрдХ рд╣реИ, рддреЛ рдЪрд▓рд┐рдП рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рд╣рдо рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реА рд╡рд░реНрддрдорд╛рди рдХрд╛рдордХрд╛рдЬреА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐:

  • рдЕрдЧрд░ --pypi-mirror рдкрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдпрд╛ PIPENV_PYPI_MIRROR рд╕реЗрдЯ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдХреНрдпрд╛ рд╣рдореЗрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкреАрдИрдкреАрдЖрдИ рдкрд░ рдкрд╕рдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рд╣рдо рдпрд╣ рдЖрдХрд▓рди рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдпреВрдЖрд░рдПрд▓ 'рдкреАрдИрдкреАрдЖрдИ' рд╣реИ рдпрд╛ рдирд╣реАрдВ - рд╣рдо рдЗрд╕реЗ рдХреНрд╡реЗрд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдП рд░рдЦрдиреА рд╣реЛрдЧреА
  • рдХреНрдпрд╛ рд╕реВрдЪреА рдореЗрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╛ рдХреНрдпрд╛ рд╣рдореЗрдВ рдЙрди рджреЛ рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрддреБрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдордиреЗ рдкрд┐рдкрдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреАрдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рджрд░реНрдкрдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

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

рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

@njsmith рдиреЗ рдЬреЛ рдХрд╣рд╛ рд╡рд╣ рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рднреА рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреАрдЖрд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ 3 рд░реЗрдкреЛ рдпреВрдЖрд░рдПрд▓ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛:

  • рдХреЛрдИ рдирд╣реАрдВ рд╕реЗрдЯ (рдпрд╛рдиреА рдЬрдм pip рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ)
  • https://pypi.python.org/simple
  • https://pypi.org/simple

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

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

рдареАрдХ рд╣реИ, рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛:

  • рдмрд┐рдирд╛ рдкреАрдЫреЗ рд╡рд╛рд▓реЗ рд╕реНрд▓реИрд╢ рдХреЗ URL рдХреА рд╕реВрдЪреА рдмрдирд╛рдП рд░рдЦреЗрдВ
  • рдПрдХ рдЕрдиреБрдЧрд╛рдореА рд╕реНрд▓реИрд╢ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ URL рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдорд┐рд▓ рдЬрд╛рдП рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ ( str.rstrip рд╕рдВрднрд╡рддрдГ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рднрд▓реЗ рд╣реА рдпрд╣ рдЕрдиреБрдЧрд╛рдореА рд╕реНрд▓реИрд╢ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛, рдЕрдиреНрдпрдерд╛ рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдЦреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдПрдХ рдЕрдиреБрдЧрд╛рдореА рд╕реНрд▓реИрд╢ рд╣рдЯрд╛ рджреЗрдВ)

рд╡рд┐рд╕реНрдордпрдХрд╛рд░реАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рд╕рдмрдХреЛ рд╢реБрдХреНрд░реАрдпрд╛!

рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдорд┐рд░рд░ рдлреАрдЪрд░ рдЬрд▓реНрдж рд╣реА рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ~

рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ:

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

рдореЗрд░реА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд░рдгрдиреАрддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА pip.conf рд╕реЗрдЯ рдХрд░рддреА рд╣реИ рдЬреЛ рдЖрдВрддрд░рд┐рдХ PyPI рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдкрд┐рдкреЗрдирд╡ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдЗрд╕ рдПрдХ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдкрд░ рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

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

рдореЗрд░рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  • Pipfile рдХреЗ [[рд╕реНрд░реЛрдд]] рдЦрдВрдб рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдкрд┐рдкрдлрд╛рдЗрд▓ рдХреЗ рдХреЗрд╡рд▓ [[рд╕реНрд░реЛрдд]] рдЦрдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЙрдорд▓ рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ
  • рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди pip.conf (рдЙрджрд╛: /etc/pipenrc.toml, ~/.pipenvrc.toml) рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд┐рдпрдореЛрдВ рд╕реЗ рдЕрддреНрдпрдзрд┐рдХ рдкреНрд░реЗрд░рд┐рдд рд╣реИред
  • рдЗрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдиреБрд╕реНрдорд╛рд░рдХ: рд╣рдореЗрдВ [[рд╕реНрд░реЛрдд]] рдХреЗ рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛
  • рдкрд┐рдкреЗрдирд╡ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдм рд╣реИ:

    • рдкрд┐рдкрдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп, рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ / рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ

    • рдпрджрд┐ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрд┐рдкреЗрдирд╡ рдХрд╛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ

    • рдкрд┐рдкреЗрдирд╡ рд╣рдореЗрд╢рд╛ рдкрд┐рдкрдлрд╛рдЗрд▓ рдХреЗ [[рд╕реНрд░реЛрдд]] рдЦрдВрдб рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ

    • рдпрджрд┐ рдкрд┐рдкрдлрд╛рдЗрд▓ рдХрд╛ рдПрдХ [[рд╕реНрд░реЛрдд]] рдЦрдВрдб рдореМрдЬреВрдж рд╣реИ, рддреЛ рдкрд┐рдкреЗрдирд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

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

рд╢рд╛рдпрдж рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рд╣рдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП 11.6.0 рдкрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ pipenv рдЦреБрд╢реА-рдЦреБрд╢реА рд╣рдорд╛рд░реЗ pip.conf рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реМрдВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЖрдВрддрд░рд┐рдХ pypi рджрд░реНрдкрдг рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред

рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдЬрдм рдпрд╣ рдЯреВрдЯ рдЧрдпрд╛? рдпрд╣ рд╣рдорд╛рд░реЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд┐рдкреЗрдирд╡ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдкрдпреЛрдЧреА рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕реЗ "рд▓рд╛рдкрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИ рдЬрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП: 2018.05.18 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд┐рдкрдлрд╛рдЗрд▓ [.рд▓реЙрдХ] рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджрд░реНрдкрдг рдХреЗ рд╕рд╛рде, рдкрд┐рдкреЗрдирд╡ pypi.org рд╕реЗ рдирдП рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдЗрд╕рд╕реЗ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИ ...

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

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдкрд╛рдЗрдк 10 рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрдиреЛрдВ рдХреА рдПрдХ рд▓рд╣рд░ рдореЗрдВ рдкрдХрдбрд╝рд╛ рдЧрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрдард┐рдирд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ @JacobHenner рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреАрдкреАрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рджреЗрд╡рдкреА рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рджреЗрд╡рдкреА рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП /etc/pip.conf рдФрд░ /usr/lib64/python3.6/disutils/distutils.cfg рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pipenv рдЗрди рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ devpi рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Pipfile рдореЗрдВ [[source]] рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдкрд┐рдкрдлрд╛рдЗрд▓ рдХреЛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рд╣рд░реА рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдирд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА [[source]] рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдкреЗрдирд╡ рдХреЛ рдХреЗрд╡рд▓ /etc/pip.conf рдФрд░ /usr/lib.../distutils.cfg рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

@ рдкреЛрд▓реНрд╕реНрдХреА-рдЬреА

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

рдиреЗрдХреНрд╕рд╕ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА, рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рд╡рд╣реА рд╡рд┐рдЪрд╛рд░ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pipenv рдЗрди рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ

рдЬреИрд╕рд╛ рдХрд┐ @techalchemy рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдкрд┐рдкреЗрдирд╡ (11.6.0) pip.conf (рд╣реЛрдордбрд┐рд░ рднреА) рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдХрд╣реАрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб pypi.org рдпреВрдЖрд░рдПрд▓ рд╣реИ (рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк, рдЖрдИрдЖрдИрдЖрд░рд╕реА) рдЬрд┐рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pipenv рдХреЛ /etc/pip.conf рдФрд░ /usr/lib.../distutils.cfg рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╕рд╣рдордд - рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ distutils.cfg рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

IIRC рдореЗрдВ pip.conf рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рдВрдХрд▓реНрдк рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрд╣рд╛рдЬ рд░рд╡рд╛рдирд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдкреАрдИрдкреАрдЖрдИ рдорд┐рд░рд░рд┐рдВрдЧ рд▓рдЧрднрдЧ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕рдХреЗ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд╛рд░реНрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ .load() рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

https://github.com/pypa/pipenv/blob/master/pipenv/project.py#L573 -#L577

@uranusjr рдЬрдм рддрдХ рдорд┐рд░рд░рд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЙрд╕ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб pypi.org рдпреВрдЖрд░рдПрд▓ рдХрд╛ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ), рдореБрдЭреЗ рдкрд┐рдкреЗрдирд╡ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рдЦрдиреЗ рдФрд░ рдкреАрдЖрдИрдкреА рдХреА рдЕрдирджреЗрдЦреА рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред

@brettdh рдХреНрдпрд╛ рдЖрдк рдореЗрд░реА рд╢рд╛рдЦрд╛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╢рд╛рдЦрд╛ рд╕реЗ рдорд┐рд▓рддреА рд╣реИ
рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдХреЗрд╕ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ?

>

@JacobHenner рд╣рд╛рдБ, рдзрдиреНрдпрд╡рд╛рджред --pypi-mirror рд╡рд┐рдХрд▓реНрдк ( pipenv install , pipenv lock ) рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЬрдирд╕рдВрдкрд░реНрдХ рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реБрдЭрд╛рд╡ рдЫреЛрдбрд╝рд╛ рд╣реИред

рдореИрдВ рдереЛрдбрд╝рд╛ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, pypi.org рдкрд░ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдП рдЧрдП рдпреВрдЖрд░рдПрд▓ рдЕрднреА рднреА рдкрд╛рдЗрдкрдирд╡ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдмрд┐рдЦрд░реЗ рд╣реБрдП рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ [[source]] рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рд╕реЗ рдХреМрди-рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рдХрд╛рд░рдг рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдКрдкрд░ рдЖрдИ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрддрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рддрдп рд╣реИред рдореИрдВ

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

рд╣рд╛рд▓ рд╣реА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреАрдВрдЪрд╛ рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ pypi.org рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рд▓рдХреНрд╖реНрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛ рдкреАрдкреАрдЖрдИ-рджрд░реНрдкрдг рд▓реЗрдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ [[рд╕реНрд░реЛрдд]] рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдмрд╕ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрджрд╛ рдЧрдпрд╛ .. рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ

if PIPENV_TEST_INDEX:
    DEFAULT_SOURCE = {
        u"url": PIPENV_TEST_INDEX,
        u"verify_ssl": True,
        u"name": u"custom",
    }
else:
    DEFAULT_SOURCE = {
        u"url": u"https://pypi.org/simple",
        u"verify_ssl": True,
        u"name": u"pypi",
    }

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдиреЗ PIPENV_TEST_INDEX рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ PIPENV_PYPI_MIRROR рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╢реБрд░реБрдЖрдд рд╣реЛрдЧреА

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

рдирд╣реАрдВ, рдкрд┐рдкрдлрд╛рдЗрд▓ рдореЗрдВ рд╕реНрд░реЛрдд рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рд▓рдХреНрд╖реНрдп
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рджрд░реНрдкрдг рдХреЗ рд╕рд╛рде PyPI URL рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдерд╛, _рдмрд┐рдирд╛_рдмрджрд▓рддреЗ
рдкрд┐рдкрдлрд╛рдЗрд▓ред

@JacobHenner рдорд┐рд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛрдб рд╕реНрд░реЛрдд рд╕реВрдЪреА рдХреЛ рдкреЛрд╕реНрдЯрдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рджрд░реНрдкрдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ pypi.org URL рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ $#$ Pipfile рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ pypi.org рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рднреА рджрд░реНрдкрдг рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред pipenv рдлрд┐рд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрд░реЛрдд рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░реА рдЯрд┐рдкреНрдкрдгреА @kylecribbs рдХреЗ рд▓рд┐рдП рдереА?

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

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

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

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

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

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

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

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