Mamba рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ

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



рд╕рд╛рдБрдк рдХреА рдЧрддрд┐ рдмрдврд╝ рд░рд╣реА рд╣реИ!

рдордореНрдмрд╛ рдХреНрдпрд╛ рд╣реИ?


рдордореНрдмрд╛ рдХреЙрдирдбрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ, рднрдпрд╛рдирдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ред рд╣рдорд╛рд░реА рд░рд╛рдп рдореЗрдВ, рдХреЛрдирдбрд╛ рдХрд╛ рдПрдХ рдШрд╛рддрдХ рджреЛрд╖ рд╣реИ: рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ рдЬрдм рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдкреИрдХреЗрдЬ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдХрдИ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред Mamba рдЕрднреА рднреА рд▓рдЧрднрдЧ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдХреЙрдирдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╕рд┐рд╡рд╛рдп рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗред рд╣рдордиреЗ рдХреЙрдирдбрд╛ рдХреЗ рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ libsolv - C рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ Fedora рдпрд╛ OpenSuse рдореЗрдВ zypperред


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


рдирдпрд╛ рдХреНрдпрд╛ рд╣реИ


рдкрд╣рд▓реА рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рд╕рдкреЛрд░реНрдЯ (MSVC) рдХреЗ рд▓рд┐рдП рд▓рд┐рдмрд╛рд╕реЛрд▓реНрд╡ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдВрдкрд╛рджрди рдХреЛ рдКрдкрд░ рдХреА рддрд░рдл рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм libsolv рд╕рднреА рдкреНрд░рдореБрдЦ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕ рдФрд░ рдУрдПрд╕ рдПрдХреНрд╕) рдкрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, OpenSUSE рд╕реЗ рдорд╛рдЗрдХрд▓ рд╢реНрд░реЛрдбрд░ рдиреЗ рд╣рдореЗрдВ рд▓рд┐рдВрдбрд╛рд╕реЛрд▓ рдореЗрдВ рд╣реА рдХреЛрдирдбрд╛ рд╕рдорд░реНрдерди рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдХреЗ рдмрд╣реБрдд рдорджрдж рдХреА!


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


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рдЯреАрдореЗрдВ


$ mamba update xtensor -c conda-forge 

рдФрд░


 $ mamba remove numpy 

рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдХреЙрдирдбрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред


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


 $ mamba install "blas=*=openblas" 

Binder / repo2docker рдореЗрдВ рд╣рдорд╛рд░реЗ рджреЛрд╕реНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдордиреЗ yml рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛! рдореБрдЭреЗ рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реБрдП рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рд╡рд╣ рд░реЗрдкреЛ 2 рдбреЙрдХрдЯрд░ рд╕реЗ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рд╛рддреА рд╣реИ!


 $ mamba env create -f xstack.yml 

рдЬрд╣рд╛рдВ xstack.yml рдПрдХ Yml рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдХреЙрдирдбрд╛ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред


рдЕрдВрддрд┐рдо рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо, рдорд╛рдореНрдмрд╛ рдЕрдм рдЕрд▓реНрдлрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЕрдм рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдбрд╛-рдлреЛрд░реНрдЬ рдЪреИрдирд▓ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:


 conda install mamba -c conda-forge # or ... <br />mamba update mamba -c conda-forge # of course ;) 

рдорд┐рдиреА рдореЗрдВ рдорд╛рдВрдмрд╛: рдорд┐рдирд┐рдордВрдмрд╛!



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


рдбрд╛рдЙрдирд▓реЛрдб рдкреГрд╖реНрда


рдЖрдЧреЗ рдХреА рдпреЛрдЬрдирд╛


рдпрджреНрдпрдкрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рдореНрдмрд╛ рд╕реЗ рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рджреИрдирд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдХрд╛рдо рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ:


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

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


рдпрджрд┐ рдЖрдк рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдорд╛рдореНрдмрд╛ рдпрд╣рд╛рдВ рд░рд╣рддреЗ рд╣реИрдВред


рдпрджрд┐ рдЖрдк рдЕрдк рдЯреВ рдбреЗрдЯ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: https://twitter.com/wuoulf

Source: https://habr.com/ru/post/hi456114/


All Articles