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

рдореИрдВ
рдирд┐рдХрд┐рддрд╛ рд╡реЛрд░реЛрдиреЛрд╡ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЬрд┐рд╕реЗ рдЧреНрд░рд╛рдо рдпрд╛
рдСрд░рд┐рдЬрд┐рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рдкреВрдЫрддреЗ рд╣реИрдВ, рдЦрд░рд╛рдм рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рджрд░реНрдж, рдбреЗрдлреЗрд▓, рдкрд╛рдЗрдк, рдкрд╣рд▓рд╛ рдореИрдЪ рдЬреАрдд рд╕рд┐рджреНрдзрд╛рдВрдд, рдЧреБрдЗрдбреЛ, рдкрд┐рдкрдлрд╛рдЗрд▓, рдкрд╛рдпрдерди рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХрд╛ рднрд╡рд┐рд╖реНрдпред
- рдореЙрд╕реНрдХреЛ рдкрд╛рдпрдерди рдХреЙрдиреНрдл ++ рдореЗрдВ рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЙрдирдХреЗ рдЖрдЧреЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЖрдкрдиреЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдРрд╕рд╛ рд╡рд┐рд╖рдп рдХреНрдпреЛрдВ рдЪреБрдирд╛?рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рд╢реНрди рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╕рднреА рдЕрдиреБрднрд╡ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛, рддреЛ рдкрд╣рд▓рд╛ рдХреЛрдб рд▓рд┐рдЦрд╛, рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдХрд┐ рдХреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХреА рдЬрд╛рдП рддрд╛рдХрд┐ рд╡реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рд╕реЗрдЯрдЕрдкрд╣реЛрдо рдХрд┐рдпрд╛ред рдлрд┐рд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдХрдВрдкрдиреА рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рджреВрд╕рд░реЗ рдореЗрдВ, рдПрдХ рддрд┐рд╣рд╛рдИ рдореЗрдВ, рдХрд╛рд░реНрдп рдЬрдЯрд┐рд▓ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖред рдкрд╣рд▓реЗ рддреЛ рдмрд╕ рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдереАред рдПрдХ рдлрд╝рд╛рдЗрд▓, рдлрд┐рд░ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдкрд╛рдЗрдк-рдЙрдкрдХрд░рдг, рдПрдХ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рдИ рджреАред рдмрд╛рдж рдореЗрдВ рд╣рдореЗрдВ рдкрд┐рдкреЗрдирд╡, рдФрд░ рдлрд┐рд░ рдХрд╡рд┐рддрд╛ рдорд┐рд▓реАред
рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдЦреБрд▓ рд░рд╣реА рдереАрдВ, рдореИрдВ рдЗрд╕ рдЕрд░рд╛рдЬрдХрддрд╛ рдореЗрдВ рдЧрд╣рд░реЗ рдбреВрдм рд░рд╣рд╛ рдерд╛ред рдирддреАрдЬрддрди, рдореИрдВрдиреЗ
рдбрд┐рдкреЗрдВрдбреЗрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣рд▓ рдХрд░ рд╕рдХрддреА рд╣реИ рдФрд░ рдкрдврд╝ рд╕рдХрддреА рд╣реИред рдЬрдм рдореИрдВрдиреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рддреЛ рдореИрдВрдиреЗ рдЙрдирдХреЗ рдЗрдирд╕рд╛рдЗрдб рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рджреЗрдЦрд╛ рдерд╛ рдФрд░ рдЕрдм рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрджрд░ рдХрд┐рддрдирд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рджрд┐рди рдореИрдВ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦрддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рджрд░реНрдж рдФрд░ рдмреБрд░реЗ рдлреИрд╕рд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВред
- рджрд░реНрдж рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЕрднреА рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ?JS рдХреЗ рдкрд╛рд╕ рдПрдХ
node_modules
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдЦрдбрд╝реА рд╣реИрдВред рдкрд╛рдпрдерди рдореЗрдВ, рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреИрдХреЗрдЬ рд╕рдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкреИрдХреЗрдЬ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЗрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗрдВ рдЬреЛ рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред рдХрд╛рд░реНрдп рдХрд╛рдлреА рдЧреИрд░-рддреБрдЪреНрдЫ рд╣реИ: рдкреИрдХреЗрдЬ рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдкрд╛рдпрдерди рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдирд╣реАрдВ рд╣реИрдВред рдЪрддреБрд░ рд░рд┐рд╕реЙрд▓реНрд╡рд░ рдХреЗрд╡рд▓ рдкреЛрдПрдЯреНрд░реА рдФрд░ рдбреЗрдлреЗрд▓ рдореЗрдВ рд╣реИред
рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рд╕реЗ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ рдХрд┐ pypi.org рдЕрдХреНрд╕рд░ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, PyPI рд╕рд░реНрд╡рд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм PyPI рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдХреА рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдкрдХреЛ рд╕рдВрдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝, рдЕрдирдЬрд╝рд┐рдк рдФрд░ рдкрд╛рд░реНрд╕ рдкреИрдХреЗрдЬ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реЗрдЯрдЕрдкрд╣реЛрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реЛрдВрдЧреАред рдпрд╣ рдПрдХ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╛рдпрдерди рдореЗрдВ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рди рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рдореЗрдВ рдХреБрдЫ рд░рд┐рд╕реЛрд▓реНрд╡рд░ рд╣реИрдВ, рд╡реЗ рдбрд┐рдЬрд╛рдЗрди рд╕реЗ рднреА рдзреАрдореА рд╣реИрдВред
рдореИрдВ рдЕрдкрдиреА
рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдбрд┐рдкреЗрд▓ рд╣рд▓ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдпрд╣ рдЧреНрд░рд╛рдл рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд▓реЗрдЦ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдЗрд╕ рдкрд░ рд╢реНрд╡реЗрддрдкрддреНрд░ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧреЛрдВ рдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рд▓рд┐рдЦреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ рд╡реЗ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдбрд┐рдкреЗрд▓ рдореЗрдВ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред
- рдореИрдВ рдЕрдХреНрд╕рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рд╕реЗ рд╕реБрдирддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?рд╡реЗ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ, рд╡реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рдВрдШрд░реНрд╖ рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рдорд╕реНрдпрд╛ рддрдм рдкреИрджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрдм рдЖрдк рдПрдХ рд╕реНрд╡рдЪреНрдЫ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд┐рд░реНрдл рджреЛ рдкреИрдХреЗрдЬ рдбрд╛рд▓рддреЗ рд╣реИрдВред рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХрд╡рд░реЗрдЬ 5.0 рдкреИрдХреЗрдЬ рдХрд╛ рд╡рд┐рдореЛрдЪрди рд╣реБрдЖ рдерд╛, рдФрд░ рдпрджрд┐ рдЖрдк
pip install pytest-cov coveralls
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдкрд╛рдЗрдк рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдХрд╡рд░реЗрдЬ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛, рдЬреЛ 5.0 рд╣реИред
рдкрд╣рд▓реЗ рдореИрдЪ рдЬреАрдд рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд╛рдЗрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рднрд▓реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рджреВрд╕рд░реЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рди рд╣реЛ, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рддрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдХреНрд╕рд░ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рдЬрдирди рдпреЛрдЧреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИред рдЪреВрдВрдХрд┐ рдкрд╛рдЗрдк рд╣рдореЗрд╢рд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИред рдФрд░ рдЬрдм рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрдп рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдЬреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡реЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкрд┐рдк рдХреЗ рдкрд╛рд╕ рдПрдХ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдбреЗрдлреЗрд▓ рдпрд╛ рдХрд╡рд┐рддрд╛ред
- рдпрд╣ рд╡рд┐рд╖рдп рдЕрдм рдРрд╕реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдХреНрдпреЛрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреИрд╕рд╛ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВ? рдкрд╣рд▓реЗ рдХреБрдЫ рднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рд╣реЛ рдЧрдпрд╛ рд╣реИ?рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд╛рдпрдерди рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдЕрдзрд┐рдХ рдкреИрдХреЗрдЬ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреЙрдк рдЕрдк рд╣реЛрддреА рд╣реИрдВред рджреВрд╕рд░реЗ, рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╣реИрдВ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред
рдЖрдорддреМрд░ рдкрд░ Setup.py рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдерди рдХреЗ рдкреИрдХреЗрдЬ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЛ рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрдирд╛ рд╣реИ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ рд╕реЗрдЯрдЕрдк рдХреЛ рдирд╣реАрдВ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╛рдпрдерди рдФрд░ рд╕рдВрдкреВрд░реНрдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рднреА рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╛рд╕ рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреА рд╣реИрдВред рдЗрди рд╕рднреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, setup.py рдХреЛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдирд╛ рдЦрддрд░рдирд╛рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХреБрдЫ рдЕрдиреНрдп рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рднреА рдбрд░рд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╣ рдореЗрд░реА рдирд┐рдЬреА рдПрд╕рдПрд╕рдПрдЪ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд╣реАрдВ рднреЗрдЬрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрдбрд╝реА рддреНрд░рд╛рд╕рджреА рд╣реЛрдЧреАред
рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк, рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИ рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВред рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рднреА рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИред рдкрд┐рдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд, рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдорд┐рд╢реНрд░рд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рдЗрдк рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдЗрд╕рдХреА рдХреБрдЫ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЖрдкрдХреЛ рдкрд╛рдЗрдк рдпрд╛ рдХрд┐рд╕реА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рднреА рддреГрддреАрдп-рдкрдХреНрд╖ рд╕рдорд╛рдзрд╛рди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд╛рдВрдЯреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдореБрд╢реНрдХрд┐рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдирд╣реАрдВред рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдкрд╛рдЗрдк рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдЗрди рдХрд╛рдВрдЯреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред
рдкрд┐рдк рдЦреБрдж рдХреЛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рднреА рдкрд╛рдЗрдк рд╕реНрд░реЛрдд рдХреЛрдб
_internal
рдкреАрдЫреЗ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реАрдзреЗ рдХрд╣рддреЗ рд╣реИрдВ: "рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ!"ред рдФрд░ рд╣рд░ рд░рд┐рд▓реАрдЬ рдкрд┐рдЫрдбрд╝реА рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛ рддреЛрдбрд╝рддреА рд╣реИред рд╡реЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдХреБрдЫ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рд╣реИ - рд╣рд░ рдмрд╛рд░ рдЬрдм рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдлреЗрд▓ рдореЗрдВ рдЯреВрдЯреЗ рд╕реАрдЖрдИ рд╕реЗ рд╕реАрдЦрддрд╛ рд╣реВрдВред
- рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреИрд╕реЗ? рдХреНрдпрд╛ рдпрд╣ рдЙрддрдирд╛ рд╣реА рдмреБрд░рд╛ рд╣реИ, рдпрд╛ рдпреЗ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХрд╣реАрдВ рд╣рд▓ рд╣реИрдВ?рдЧреБрдЗрдбреЛ рд╡реИрди рд░реЛрд╕реБрдо рдХреЛ
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджрд┐рдХреНрдЬрд╕реНрдЯреНрд░рд╛ рдкреБрд░рд╕реНрдХрд╛рд░ рд╕реЗ рд╕рдореНрдорд╛рдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЙрдирдХреЗ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ рднрд╛рдЧ рд▓рд┐рдпрд╛ рдФрд░ рдЙрдирд╕реЗ рдкрд╛рдпрдерди рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ред рдЧреБрдЗрдбреЛ рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдирд╢рд╛ рдЕрд░рд╛рдЬрдХрддрд╛ рд╣реИ, рд╡рд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдореБрджрд╛рдп рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд╛рдпрдерди рдореЗрдВ, рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдзреАрд░реЗ-рдзреАрд░реЗ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирдП рд╕рдорд╛рдзрд╛рди рдЙрднрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдкрд╛рдпрдерди рдореЗрдВ рдбрд┐рд╕реНрдЯреБрдЯрд┐рд▓реНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрдм рд▓реЛрдЧреЛрдВ рдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдПрдб-рдСрди рд╕реЗрдЯрдкреВрд▓рд╕ред
easy_Install
рдХреЛ рдмрд╛рдж рдореЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рдереАрдВред рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╛рдЗрдк рдмрдирд╛рдпрд╛ред рдЕрдм рдкрд╛рдЗрдк рдХреА рдмрд╣реБрдд рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рдХреЛрдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рд╣реИред
рд╕рдореБрджрд╛рдп рдХреБрдЫ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдПрдХ рд▓рдВрдмреА рдЪрд░реНрдЪрд╛ рдереА рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ 2.0 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП (рдпрд╣рд╛рдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдпрд╣рд╛рдВ рдорд╛рд░реНрдХрд░ рд╣реИрдВ), рдФрд░ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдоред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ Pipfile рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкрд╛рдЗрдк рдмрд╣реБрдд рднреНрд░рд╛рдордХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдЗрд╕рдореЗрдВ Pipfile рд╕рдорд░реНрдерди рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХреЗред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрдХреБрд▓ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХрд┐рд╕реА рджрд┐рди рд╡реЗ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдкрд╛рдЗрдк Pipfile рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ Pipfile рдХреЛ Pipfile рдФрд░ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреНрдп рдЖрд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ред рд▓реЗрдХрд┐рди рдкрд┐рдкреЗрдирд╡ рдореЗрдВ рднреА, рд╕рдм рдХреБрдЫ рдорд┐рд╢реНрд░рд┐рдд рдФрд░ рднреНрд░рдорд┐рдд рд╣реИред
рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЧреЛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдерд╛, рд╡рд╣рд╛рдБ
go get
рдерд╛, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рднрдВрдбрд╛рд░ рд╕реЗ рдХреМрди рд╕рд╛ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ: рдЖрдк рдмрд╕ рд▓рд┐рдЦрддреЗ
go get
рдФрд░ рдкреИрдХреЗрдЬ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣реИред рдФрд░ рдЬрдм рдЖрдк рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рд░ рдЪреАрдЬ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рдвреЗрд░ рддреБрд░рдВрдд рдврд╣ рдЬрд╛рддрд╛ рд╣реИ: рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг, PyPI, рдкрд╛рдЗрдк, рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБред Txt, setup.py, рдЕрдм Pipfile, Poetry,
__pymodules__
, рдЖрджрд┐ред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╛рдпрдерди рдЖрдХрд╕реНрдорд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рдореБрджрд╛рдп рдХреА рдорджрдж рд╕реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдмрдирд╛рддрд╛ рд╣реИред рдЧреЛ рдмрд╕
go get
рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рдЧрдИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкрд░реНрдпрд╛рд╡рд░рдг рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдерд╛ред
рдПрдХ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рдм рдХреБрдЫ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рднреА рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рдХрд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдореЗрдВ рдПрдХ рднреЗрджреНрдпрддрд╛ рдкрд╛рдИ рдЧрдИ рдереАред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдирд╣реАрдВ рд╣реЛрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдлрд╛рдЗрд▓ рдЬреЛ рдХрд╣рддреА рд╣реИ: "рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреИрдХреЗрдЬ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред"
рдЧреЛ рдореЗрдВ рдРрд╕реА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рдереА, рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛рдХрд░рдг рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛: рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдмрд╕ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓реЗ рд▓реА рдЧрдИ рдереАред рдпрд╣ рдПрдХ рдЧрдВрджрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ,
node_modules
рд╕рдорд╛рди рд╣реИ, рдЬрд┐рд╕реЗ рдЧреЛ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╛рдпрдерди рдореЗрдВ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдЗрдк рдореЗрдВ рдПрдХ
vendor
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рдЬрдм рдЖрдк рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдФрд░ рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рд╕рднреА рдкрд░ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рд╕рднреА
vendor
рдЕрдВрджрд░ рд╣реИрдВред
рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ go.mod (Go Modules) Go рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдирдпрд╛ рдмрд┐рд▓реНрдЯ-рдЗрди рдЯреВрд▓ рд╣реИ, рд▓реЗрдХрд┐рди
go get
рднреА рд╕рдкреЛрд░реНрдЯ
go get
ред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:
- рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ;
- рдЕрдиреНрдп рдПрдХ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЙрдирдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдПрдХ рд╢рд╛рдВрдд рдХреЗрдВрджреНрд░реАрдХреГрдд рд╕рдорд╛рдзрд╛рди рд╣реИред
рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╡реЗ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЛ рдореЗрдВ, рд╕рдВрд╕реНрдХрд░рдг рдЕрд░реНрде-рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рднреА рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреИрд╕реЗ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдкреАрдИрдкреА 440 рд╣реИред рд▓реЗрдХрд┐рди, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ: рди рдХреЗрд╡рд▓ рддреАрди рд╕рдВрд╕реНрдХрд░рдг рдШрдЯрдХ (рд╕рдВрдЦреНрдпрд╛рдПрдВ) рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝, рдкреЛрд╕реНрдЯ-рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдпреБрдЧ (рдЬрдм рд╕рдВрд╕реНрдХрд░рдг рдмрджрд▓рдиреЗ рдХрд╛ рддрд░реАрдХрд╛) рднреА рдирд╣реАрдВ рд╣реИрдВред рджреВрд╕рд░реА рдмрд╛рдд, PEP 440 рдХреЛ рддреБрд░рдВрдд рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╡реЗ рднреА рдЗрд╕реЗ рдЖрдХрд╕реНрдорд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рд░рд╛рд╕рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - "рд╣реИрд▓реЛ рджреБрдирд┐рдпрд╛!" рдЬреИрд╕реА рдХреЛрдИ рднреА рд░реЗрдЦрд╛ред
- рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рд╕рдореБрджрд╛рдп рднрд╛рд╖рд╛ рдХреЛ рдЖрдХрд╕реНрдорд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рд╛рд░реЗ рдХрдЪрд░реЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдбрд┐рд╕реНрдЯреБрдЯрд┐рд▓реНрд╕ рдХреЛ рдмрд╛рд╣рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдлреЗрдВрдХреЗрдВ, рдкреБрд░рд╛рдиреЗ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдЬреЛ рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдирдИ рдкреНрд░рдерд╛рдУрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрдВ?рдпрд╣ рд╕рдм рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХреЗрдВред рдпрд╣ рдХрд╣рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдгрдп рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрд░ рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ: "рдпрд╣ рдмрд╛рдд рд╣реИ, рд╣рдо рдЕрдм рд╕рдм рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдХреЛрдИ рдирд╛рдЦреВрди рдирд╣реАрдВред"
рдЧреЛ рдХреЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╛рдпрдерди рдореЗрдВ, рдЖрдкрдХреЛ рдмрд╛рд╣рд░ рд╕реЗ рд╕рдм рдХреБрдЫ рдкреБрдирдГ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдкрд╛рдЗрдк рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВред
рдкрд╛рдЗрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЕрдереЙрд░рд┐рдЯреА рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреИрдХреЗрдЬ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдкрд░, рдЬреЛ рд╕рдореВрд╣ рдкрд╛рдЗрдк, рдкрд┐рдкреЗрдирд╡, PyPI рдмрдирд╛рддрд╛ рд╣реИ, рдЙрд╕реЗ рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд┐рдкреЗрдирд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЦрд░рд╛рдм рд╕рдВрдХрд▓реНрдк рд╣реИред рджреВрд╕рд░реЗ, рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреЛрдИ рд░рд┐рд▓реАрдЬрд╝ рдирд╣реАрдВ рд╣реБрдИ рдереА рдФрд░ рд╕рдореБрджрд╛рдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреЛ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдорд░ рдЪреБрдХреА рд╣реИред рдкрд┐рдкреЗрдирд╡ рдХреЗ рд╕рд╛рде рддреАрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ: рдЖрдк рдкрд┐рдкреЗрдирд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдХрд╛ рдирд╛рдо, рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЗрд╕реЗ PyPI рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рд░рдЦреЗрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдкреИрдХреЗрдЬрд┐рдВрдЧ рдЕрдереЙрд░рд┐рдЯреА рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдФрд░ рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрднреА рднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рдХрд╡рд┐рддрд╛ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ setup.py рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдХрд╡рд┐рддрд╛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рдФрд░ рдПрдХрдорд╛рддреНрд░ рдкреНрд░рд╛рд░реВрдк рдмрдирдирд╛ рдЪрд╛рд╣рддреА рд╣реИред рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреИрдХреЗрдЬ рдХреИрд╕реЗ рдЬрдорд╛ рдХрд░реЗрдВ, рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рд▓реЙрдХ-рдлрд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдлрд┐рд░ рднреА, рдХрд╡рд┐рддрд╛ рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЕрдЬреАрдм рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдХрдИ рдкрд░рд┐рдЪрд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рднрд╡рд┐рд╖реНрдп рдХреНрдпрд╛ рд╣реИ? рдЖрдкрдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреАрд╕рдм рдХреБрдЫ рдХрдореЛрдмреЗрд╢ рдмреЗрд╣рддрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╛рдЗрдк рдореЗрдВ рдПрдХ рд░рд┐рдХреНрддрд┐ рджреЗрдЦреА, рдФрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рдЗрд╕реЗ рдХреНрд░рдо рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдЙрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреИрд╕реЗ рджреЗрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╢рд╛рдпрдж рдкрд╛рдЗрдк рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╕рдорд╛рдзрд╛рди рдмрди рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдЖрдУ рдФрд░ рдХрд╣реЗрдВ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдм рд╣рдо рдХреБрдЫ рдФрд░ рдХрдбрд╝реЗ рдкреАрдИрдкреА рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдкрд░ рдЬреЛрд░ рджреЗрдВрдЧреЗ (рдХреНрдпреЛрдВрдХрд┐ рдкреАрдИрдкреА рд╕рд┐рд░реНрдл рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реИ рдкрд╛рд▓рди тАЛтАЛрдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ)ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реА рдХрд╣рд╛рдиреА рдереА: PyYAML рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд▓реЙрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рдмрдВрдж рдерд╛ред рдПрдХ рджрд┐рди рд╕реАрдЖрдИ рдкрд╛рд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг, рд╣рдо рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдирд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рд╡рд╣рд╛рдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ PyYAML рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рд▓реЙрдХ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ pypi.org рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд░ рдХреЛрдИ рдЖрдХреНрд░реЛрд╢ рдореЗрдВ рдерд╛, рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛, рдХрд┐рд╕реА рддрд░рд╣ рдмрдЪ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рддрд▓рдЫрдЯ рдмрдиреА рд░рд╣реАред
рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдкреАрдИрдкреА 592 рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╛рдЗрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдпрд╛рдБрдХреЗрдб рд░рд┐рд▓реАрдЬрд╝ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдпрд╛рдВрдХ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЕрднреА рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ pypi.org рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИред рдпрд╣реА рд╣реИ, рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PyYAML рд╕рдВрд╕реНрдХрд░рдг 3.0 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкрд╛рдЗрдк yanked рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ рдФрд░ рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдпрд╛рдВрдХ рд╣реИ, рддреЛ рдкрд╛рдЗрдк рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд▓реЙрдХ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рддреИрдирд╛рддреА рдирд╣реАрдВ рдЯреВрдЯреЗрдЧреА, рд▓реЗрдХрд┐рди, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рджреВрд╕рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд
__pymodules__
рд▓рд┐рдП PEP рд╣реИред рдпреЗ рд╣рд▓реНрдХреЗ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИрдВ: рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЦреЛрд▓рддреЗ рд╣реИрдВ, PyYAML
pip install
рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ PyYAML рдХреЛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐
__pymodules__
рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдкрд╛рдпрдерди рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ PyYAML рдХрд╛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕реЗ рдиреНрдпреВрдирддрдо рдкрд░ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрдо рдЕрд▓рдЧрд╛рд╡ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред рдЬрдм pytest рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдмрд╕ pytest рд▓рд┐рдЦреЗрдВ рдФрд░ рдХреБрдЫ рдХрд░реЗрдВред
__pymodules__
рд╕рд╛рде рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рдпрд╣ рдкреАрдИрдкреА рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рд╕рднреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рд▓реЗрдХрд┐рди рдкрд╛рдЗрдк рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдкрдХреЛ
__pymodules__
рдореЗрдВ
__pymodules__
рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
- рдареАрдХ рд╣реИ, рдЖрдкрдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдЕрдм рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЬреНрдЬрд╡рд▓ рд╣реИредрд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЕрдЧрд░ рдХреЛрдИ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдлрд┐рд░ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдмрдиреА рд░рд╣реЗрдВрдЧреАред рдЕрдм рд╣рдо рдЙрдкрдХрд░рдг рдЬрдорд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
- рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд▓рдЧрднрдЧ рдХрд╣реАрдВ рднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рди рддреЛ рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ, рди рд╣реА рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдореЗрдВ - рд╕реБрд░рдХреНрд╖рд╛ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдирдП рдорд╛рдореВрд▓реА рдпрд╛ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реИрдВ?рдХрдо рд╕реЗ рдХрдо, рдЬрдм рдЖрдк рдирд┐рд░реНрднрд░рддрд╛ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд░рд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рддрдереНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рдЖрдк рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░ рд▓реЗрдВ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдХреНрд╕рд░ рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЕрдЬрд╡рд╛рдЗрди рдХреЗ рд╕рд╛рде рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЬрд╡рд╛рдЗрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдХреБрдЫ рдХреЛ рд▓реЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдУ рдХрд╛рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧреЛ рдореЙрдбреНрдпреВрд▓ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдпрд╣ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреИрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ: рдЖрдк рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд░реАрдХреНрд╖рдг рди рдХреЗрд╡рд▓ рддреБрдореНрд╣рд╛рд░рд╛, рдмрд▓реНрдХрд┐ рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рднреА рдЪрд▓рд╛рддреЗ рд╣реИрдВред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд╣рд▓реВ рдЕрднреА рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ: рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рдкрд╛рдпрдерди рдореЗрдВ рд╕рдВрдХреБрд▓ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЬрдм рдЖрдк pypi.org рд╕реЗ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: setup.py рдореЗрдВ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ рдФрд░ рдЙрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрднрд░ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╡реЗ рдЕрдХреНрд╕рд░ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдЕрдХреНрд╕рд░ рдЗрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдЬреБрдбрд╝рдирд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рдкреИрдХреЗрдЬ рдХреЛ 6-10 рдЧреБрдирд╛ рдмрдбрд╝рд╛ рдХрд░рдирд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдРрд╕реА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдЕрдХреНрд╕рд░ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЕрд░рд╛рдЬрдХрддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдЕрджреНрдпрддрди рдХрд░рддреЗ рд╕рдордп рдЗрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЗрд╕ рдкрд╣рд▓реВ рдХреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЧреЛ рдХреЛ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ рдХрд┐ рдпрд╣ рдкреИрдХреЗрдЬ рдЗрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдХреНрдпреЛрдВ, рдЖрдкрдХреА рд░рд╛рдп рдореЗрдВ, рдкрд╛рдпрдерди рдореЗрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрд░реНрде рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИрдВ?рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдЕрдХреНрд╕рд░ рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рд╣реЛрддреЗ рд╣реИрдВ: рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рд░реВрдк (pypi.org, poety, setup.py, рдЖрджрд┐), рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВред рддреАрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рднреВрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдбреЗрдлреЗрд▓ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдЙрдиреНрдирдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреАрдо рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, DepHell рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╢рдмреНрджрд╛рд░реНрде рд╕рдВрд╕реНрдХрд░рдг, рд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдг, рдЖрджрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╡рд░реНрдЬрд╝рдирд┐рдВрдЧ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХреНрдпрд╛редрджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлреНрд▓рд┐рдЯ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреИрдХреЗрдЬ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреИрдХреЗрдЬ рдХреЛ рдбрд┐рд╕рд╛рдЗрдб рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд▓рд┐рдЯ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрдкрдХрд░рдг рд╣реИред рдХреЗрд╡рд▓ рдЪрд╛рд░ рдЯреАрдореЛрдВ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ: init
, build
, publish
рдФрд░install
. , , PyPI тАФ . Flit , . docstring . , .
DepHell Flit . description, , , .
, .
DepHell
import
, , , , . , , .
, Moscow Python Conf++ 27 . DepHell backend, web, , AI/ML, , DevOps, , IoT, infosec . , , Moscow Python Conf++.