Pip: pip, pipX, рдФрд░ pipX.Y рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЕрдХреНрддреВре░ 2015  ┬╖  102рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pip

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд▓реЛрдЧ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рднреНрд░рдо рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╡рд┐рд╢реЗрд╖ рдкрд╛рдпрдерди рдХреЛ рдкрд╛рдЗрдк рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрд╣реНрд╡рд╛рди рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдРрд╕реЗ рдХрдИ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкрд╛рдпрдерди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЖрд╣реНрд╡рд╛рди pip* рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ:

  • pip3 install --upgrade pip pip #$ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рдд: рдЗрд╕реЗ рдкреЙрдЗрдВрдЯрд┐рдВрдЧ рд╕реЗ 2.7 рд╕реЗ 3.5 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рджреЗрдЧрд╛ред
  • pip3 рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ 3.4 рдФрд░ 3.5 рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
  • pip3.4 рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ 3.4.0 рдФрд░ 3.4.1 рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
  • pip3.4.0 рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ 3.4.0 рдХреА рдХрдИ рдкреНрд░рддрд┐рдпрд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
  • рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреАрдЖрдИрдкреА рдмрд╛рдЗрдирд░реА рдЬреИрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпреЛрдВ рдкрд░ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ( pip-pypy ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреАрдкреАрдкреА рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ? pip-pypy2.6 ? PyPy рдФрд░ PyPy3? pip-pypy-2.6 рдФрд░ pip-pypy3-2.6 ?)

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

рднреНрд░рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рддрдереНрдп рднреА рд╣реИ рдХрд┐ pip install --upgrade pip рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .exe рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЦреБрд▓реЗ рд╣реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ python -m pip install --upgrade pip рд╡рд╣рд╛рдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рддреАрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд╛рдЙрдирд╕рд╛рдЗрдб рджреЗрдЦрддрд╛ рд╣реВрдВ:

  • рдХреЗрд╡рд▓ pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬ, рдЙрджрд╛рд╣рд░рдг, рдХреЛрдб рдпрд╛ рдЬрдбрд╝рддрд╛ рдХреЗ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдФрд░ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдордВрдерди рд╣реЛрдЧрд╛ред
  • рдЗрд╕рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 10 рдФрд░ рдЕрдХреНрд╖рд░ рд╣реИрдВред
  • рдпрд╣ рдкрд╛рдпрдерди 2.6 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

рдЗрдирдореЗрдВ рд╕реЗ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 10 рдЕрддрд┐рд░рд┐рдХреНрдд рдкрддреНрд░ рд╢рд╛рдпрдж рдХрдо рднреНрд░рдо рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХрд╛ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕рдВрднрд╡рддрдГ рдбреЙрдХреНрд╕ рдореЗрдВ pip , pipX , рдФрд░ pipX.Y рд╢реЗрд▓ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЖрдЦрд┐рд░реА рдЖрдЗрдЯрдо рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╕реНрдЯрд┐рдХрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдкрд╛рдпрдерди 2.6 рдореЗрдВ рдЕрднреА рднреА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ 6 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЕрднреА рднреА рдкреАрдИрдкреАрдЖрдИ ( рд╕реНрд░реЛрдд ) рдкрд░ рдпрд╛рддрд╛рдпрд╛рдд рдХрд╛ ~ 10% рдерд╛ред рдкрд╛рдпрдерди 2.6 рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ -m рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдЬрдм рд▓рдХреНрд╖реНрдп рдПрдХ рдореЙрдбреНрдпреВрд▓ рд╣реИ рдЬреЛ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдЪрд╛рд░ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рджреЗрдЦрддрд╛ рд╣реВрдВ:

  • Python 2.6 рдкрд░ pip* рдХреЛ рдкрджрд╛рд╡рдирдд рди рдХрд░реЗрдВред
  • pipcli.py рдЬреИрд╕рд╛ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕реЗ рд▓реЛрдЧ python -m pip рдХреЗ рдмрдЬрд╛рдп python -m pip python -m pipcli рдХреА рддрд░рд╣ рдЖрдордВрддреНрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВред
  • pip/ рдХреЛ _pip/ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ рдФрд░ pip.py рдмрдирд╛рдПрдВред
  • рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд┐ рдкрд╛рдпрдерди 2.6 рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдЗрд╕реЗ python -m pip.__main__ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ pipcli рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рдЕрдиреНрдп рддреАрдиреЛрдВ рдореЗрдВ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ pip* рдХреЛ рдкрд╛рдпрдерди 2.6 рдкрд░ рдкрджрд╛рд╡рдирдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░/рдпрд╛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред ``рдкрд╛рдпрдерди-рдПрдо рдкрд┐рдк' рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдкрд╛рдпрдерди 2.6 рдкрд░ рдореБрдЦреНрдп )ред

@pypa/рдкрд╛рдЗрдк-рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

cli backwards incompatible maintenance

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

рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЙрдард╛рдИ рдЧрдИ рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ (рд▓рдЧрднрдЧ) рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реЛред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА:

  • _pip_ рдХреЛрдИ CLI рд░реИрдкрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рдХреЗрд╡рд▓ python -m pip рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
  • _pip-cli_ python -m pip рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ pip рдЖрд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ
  • _virtualenv_ рдХреЗ рдЗрдВрд╕реНрдЯрд╛рд▓-рдмрд╛рдп-рдбрд┐рдлреЙрд▓реНрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ _pip-cli_ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ

рдпрд╣рд╛рдБ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ:

  • рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА; рдпрд╣ рдЕрднреА рднреА pip рд╣реИред
  • рд╡рд┐рдВрдбреЛрдЬ рдЕрдкрдЧреНрд░реЗрдб рдпреВрдПрдХреНрд╕ рдореЗрдВ рд╕реБрдзрд╛рд░

    • pip install --upgrade pip рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ :рдЯрд╛рдбрд╛:

    • рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА python -m pip install --upgrade pip-cli рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

    • рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдЕрдкрдбреЗрдЯ рдмрд╣реБрдд рдХрдо рдмрд╛рд░-рдмрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ

  • рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╣рддрд╛ рд╣реИ "рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ ..." рдЬреЛ рдЕрднреА рднреА рд╡реЗрдирд╡ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
  • pipX рдФрд░ pipX.Y . рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛

    • рд╡реЗ virtualenv + рдУрдкреА рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдореБрджреНрджреЛрдВ рдореЗрдВ рдмреЗрдорд╛рдиреА рд╣реИрдВ; рд╡реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ

    • рдереЛрдбрд╝реЗ рддрд░рд╣ рд╕реЗ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╣рдж рддрдХ рд╡рд┐рд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ (рдЬрдм рдбрд┐рд╕реНрдЯреНрд░реЛ рдЕрдпреЛрдЧреНрдп рд░реВрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)

рдЙрдкрд░реЛрдХреНрдд рдкрд░ рдЗрдирдкреБрдЯ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред


рдЕрдиреНрдп рдиреЛрдЯ:

  • рдореБрдЭреЗ pipX рдФрд░ pipX.Y рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж рдмрд╣рд┐рд╖реНрдХреГрдд/рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╕рдВрдмрдВрдзрд┐рдд: #4625 (рдореМрдЬреВрджрд╛ рд░реИрдкрд░реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛)

    • рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ: рдпрд╣ _pip-cli_ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдбрд┐рд╕реНрдЯреНрд░реЛ-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛

  • python -m pip рдФрд░ pip рдХреА "рд╕реИрдирд┐рдЯреА рдЪреЗрдХ" рдЪреЗрдХрд┐рдВрдЧ рддреБрд▓реНрдпрддрд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, _pip-cli_ рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрддрд╛ рд╣реИред

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

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

рджреВрд╕рд░рд╛ рдЦрд░реНрдЪ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдХрднреА рднреА рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдпрд╛ рддреЛ рдПрдХ рд╣реА рдирд╛рдорд╕реНрдерд╛рди (рдЬреЛ рднреА pip.py рдореЗрдВ рд╣реИ) рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ рдпрд╛ рд╣рдореЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдкрд╛рдпрдерди рдХреЛ рддреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛) 2.6 рдлрд┐рд░ рд╕реЗ, рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдЗрд╕реЗ рддрдм рддрдХ рд╣рдЯрд╛ рдирд╣реАрдВ рджреЗрддреЗ)ред

рдмреЗрд╢рдХ, рд╣рдо рдХрднреА рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрджреНрджрд╛ рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реИред

рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд▓реЗрдХрд┐рди рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдХрд┐ @warsaw рдФрд░ @ncoghlan рд╢рд╛рдпрдж рдЗрд╕ рдкрд░ рднреА рдХреБрдЫ рд░рд╛рдп рд░рдЦрддреЗ рд╣реИрдВред

рд╢рд╛рдпрдж @bkabrda рднреА! рдФрд░ @tdsmith

рдЙрд╕ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдХрдо рдордд рд╕рдордЭреЛред рдЗрдВрдЯрд░рдЯрд┐рдпрд╛ _high_ рд╣реИ: рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреВрд▓ pip рдорд╛рди рд▓реЗрдВрдЧреЗ, рдФрд░ _lots_ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЧрд▓рдд рд╣реЛрдЧрд╛ред рдПрдХ рд▓рдВрдмрд╛ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪрдХреНрд░ рд╣реЛрдирд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣рд╛рдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред рдЕрдиреНрдпрдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ: +1ред

-1 рдкрд╛рдЗрдк рд╣рдЯрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓рдиреА рд╣реЛрдЧреАред
pipX рдФрд░ pipX.Y . рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ +1

рдордВрдЧрд▓рд╡рд╛рд░, 6 рдЕрдХреНрдЯреВрдмрд░, 2015 рдХреЛ рд╕реБрдмрд╣ 08:16 рдмрдЬреЗ, рдХреЛрд░реА рдмреЗрдирдлрд╝реАрд▓реНрдб рдиреЗ рд▓рд┐рдЦрд╛:

рдЙрд╕ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдХрдо рдордд рд╕рдордЭреЛред рдЗрдВрдЯрд░рдЯрд┐рдпрд╛ рд╣реИ
_high_: рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрдкрдХрд░рдг рдкрд╛рдЗрдк рдорд╛рдиреЗрдВрдЧреЗ, рдФрд░ _lots_ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
рдЧрд▓рдд рд╣реЛрдЧрд╛ред рдПрдХ рд▓рдВрдмрд╛ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪрдХреНрд░ рд╣реЛрдирд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ
рдпрд╣рд╛рдВред рдЕрдиреНрдпрдерд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ: +1ред

тАФ рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub[1] рдкрд░ рджреЗрдЦреЗрдВред

рдХрдбрд╝рд┐рдпрд╛рдБ:

  1. https://github.com/pypa/pip/issues/3164#issuecomment -145839321

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

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

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

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░рд┐рднрд╛рд╖рд┐рдд "рдЖрдкрдХреА рдЧрдВрджрдЧреА рдПрдХреНрд╕ рд╕реЗ рдмрд╛рдж рдореЗрдВ рдЯреВрдЯ рдЬрд╛рдПрдЧреА" рддрд╛рд░реАрдЦ рдХреЗ рд╕рд╛рде рдХрд╖реНрдЯрдкреНрд░рдж рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рд▓реЛрдЧ рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдПрдХ рддрд╛рд░реАрдЦ рддрдп рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рд╕рдВрднрд╡рддрдГ рдПрдХ _far_ рджреВрд░, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА)ред рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рддрд╛рд░реАрдЦ: рдЬрдм рдкрд╛рдпрдерди 2.6 рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдЖрд░рдПрдЪрдИрдПрд▓ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рдХрд╛ рд╕рдорд░реНрдерди рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ)ред

-1 рдкрд╛рдЗрдк рд╣рдЯрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓рдиреА рд╣реЛрдЧреАред
pipX рдФрд░ pipX.Y . рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ +1

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ pipX рдФрд░ pipX.Y рдХреЛ рдмрд┐рдирд╛ pip рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдмрд┐рдирд╛ рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ (рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛) рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпрдХреАрдирди рдмрджрддрд░ рдЕрдкрд░рд╛рдзреА рд╣реИ рдЙрди рд╕рдм рдХрд╛ред

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

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

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

рдЖрд░рдПрдЪрдИрдПрд▓ 6 рдкреНрд░реЛрдбрдХреНрд╢рди 3 рдлреЗрдЬ рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдпрд╣ 30 рдирд╡рдВрдмрд░, 2020 рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдкрд░реЗ рдПрдХ рд╕реБрдкрд░ рд╕реНрдкреЗрд╢рд▓ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣рдо рд╕рд┐рд░реНрдл 2020 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рд╣рдо 2020 рддрдХ рд░реЛрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рдпрдерди 2.6 рдЕрднреА рднреА рд╡реНрдпрд╛рдкрдХ рд╕рдорд░реНрдерди рдореЗрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдФрд░ рдкреАрдЫреЗ рдзрдХреЗрд▓рддреЗ рд╣реИрдВред

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

рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ pip install -p python2.7 python2.7 -m pip install рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рд╣рдореЗрдВ рдЙрд╕ рдкрд╛рдпрдерди рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рд╣рдо рдЙрд╕рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╛ рддреЛ рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдШреБрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд╛рдпрдерди рдореЗрдВ рд╕рдмрд╣реЗрд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдореЗрд░рд╛ рдЖрдзрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рд░реАрд░рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ) рдпрд╛ рд╣рдореЗрдВ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдПрдХ рд╣реА рдкрд╛рдпрдерди рдкрд░реНрдпрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдХ рдХреБрд░реНрд╕рд┐рдпреЛрдВ рдХреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдШреБрдорд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ pip install --upgrade pip рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдУрдПрд╕ рдХреЗ рдкрд╛рд╕ pip.exe рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓ рдЦреБрд▓рд╛ рд╣реИ, рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ python -m рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ @pfmoore рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред

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

рдЖрд╣, рдпрд╣ рд╕рд╣реА рд╣реИ, рдореИрдВ рднреВрд▓ рдЧрдпрд╛ред рдорд╛рдлрд╝ рдХрд░рдирд╛!

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

  • рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рд▓рд┐рдП +1 - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЦреБрд╢реА рд╣реЛрдЧреА, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрд╡рдпрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рд╡рд┐рд▓рд╛рдк рди рдХрд░реЗрдВред
  • рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдпрд╣ рдХреЗрд╡рд▓ 6 рдФрд░ рдЕрдХреНрд╖рд░ рд╣реИрдВ - py -m pip :-)
  • 2.6 рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпрд╛ рддреЛ рд▓реЛрдЧреЛрдВ рдХреЛ pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рджреЗрддрд╛ рд╣реВрдВ рдпрд╛ python2.6 -m pip.__main__ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реА рд╕рдлрд▓рддрд╛ рдХрд╛ рдорд╛рдирджрдВрдб рдЗрд╕реЗ рд╡рд╣ рдордВрддреНрд░ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИред рдЪрд╛рдБрдж рдХреЗ рд▓рд┐рдП рдЧреЛрд▓реА рдорд╛рд░реЛ, рдЖрджрд┐ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЗрд░рд╛рджрд╛-рд╕реЗ-рдмрд╣рд┐рд╖реНрдХреГрдд рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡рдХрд░реНрддрд╛рдУрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреАрдЖрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

рдпрд╣рд╛рдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ pip рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде _pip_... рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИред

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

рдореИрдВ рдкрджрд╛рд╡рдирддрд┐ рдХреЗ рд▓рд┐рдП +1 рд╣реВрдВтАФрдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдРрд╕рд╛ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдЬреЛ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

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

( @bkabrda рдЕрдЧрд░ рдореИрдВ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рд╡реЗ рдХреЗрд╡рд▓ рд╕рднреА MAJOR.MINOR рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп _iff_ рд╢рд┐рдкрд┐рдВрдЧ рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдХреЛрдИ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИрдВ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рдЗрдк рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд╣реИ рдирд╛?)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ +1 рдХреЛ рдпрд╛ рддреЛ рдкрд╛рдЗрдк рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЕрдЬрдЧрд░ -рдПрдо рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред __ рдореБрдЦреНрдп __ рдЕрдЬрдЧрд░ 2.6 рдХреЗ рд╕рд╛рдеред

рдХреБрдЫ рдмрд┐рдВрджреБ рдЬреЛ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЖрдП:

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

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

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

рднреА,

pip3.4 рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ 3.4.0 рдФрд░ 3.4.1 рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдУрд╣, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ 3.4.0 рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрдиреЗ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЖрдк "рдкрд╛рдЗрдк" рдпрд╛ "рдкрд╛рдпрдерди-рдПрдо рдкрд╛рдЗрдк" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЖрдк ' рд╡реИрд╕реЗ рднреА рдкреВрд░реНрдг рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╢рдмреНрджрд╢рдГ рд╣реЛрдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рддрд░реНрдХ рджреВрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

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

alias pip=/usr/bin/env python -m pip

рдпрд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛ рдЗрд╕рдХреЗ рд╕рдорд╛рди рдереА /usr/local/bin/pip рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕ рддрд░рд╣ рд╣рдо pip рдирд╣реАрдВ рдЦреЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░реВрдк рд╕реЗ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдореЗрд░рд╛ $0.02ред : рдХреНрд░реЛрдз3:

@erikrose
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ python рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдореИрдВрдиреЗ рдЬреЛ рднреНрд░рдо рджреЗрдЦрд╛ рд╣реИ рд╡рд╣ python рдФрд░ pip рдЕрд╕рд╣рдордд рд╣реЛрдиреЗ рдкрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред рдЬреИрд╕реЗ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ /usr/bin/python рдФрд░ /usr/local/bin/python рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ python рдЕрдВрдХ /usr/local/bin/python рдФрд░ pip рдЕрдВрдХ /usr/bin/python рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╣реИ рднреНрд░рдо рдХреЗ рд▓рд┐рдП рдиреБрд╕реНрдЦрд╛ред рдЗрд╕рд▓рд┐рдП рд╣рдо рджреЛрдиреЛрдВ рдХреЗ рдЕрд╕рд╣рдордд рд╣реЛрдиреЗ рд╕реЗ рдЙрддреНрдкрдиреНрди рднреНрд░рдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд╕рд╣рдордд рд╣реЛрдиреЗ рдХреА рдХрд┐рд╕реА рднреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рдЖрдк рдЕрднреА рднреА рдЗрд╕ рдмрд╛рдд рдХреЛ рд▓реЗрдХрд░ рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рд╣реИрдВ рдХрд┐ python рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВред

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

@rschoon
рд╣рдо рд╕рдВрднрд╡рддрдГ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдкрд╛рдЗрдк рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдерд╛рдпреА рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрдм рдкрд╛рдЗрдк рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ (рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХреЛрдИ setup.py рдирд╣реАрдВ рд╣реИ) рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдореБрдЦреНрдп рдбрд░ рдпрд╣ рд╣реИ рдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ python -m pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдк рдЗрд╕рдореЗрдВ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдорд╛рдВрдб рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред рдПрдХ рдпрд╛ рдирд╣реАрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ 3.4.0 рдФрд░ 3.4.3 рдХрд┐рддрдиреА рдмрд╛рд░ рдмрд╛рдд рдЖрддреА рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ OSX рдкрд░ рд╕реБрдкрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ /usr/bin/python рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ Python рд╣реИ рдФрд░ рдЖрдк Python.org рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдпрд╛ Homebrew рдпрд╛ Macports рдпрд╛ pyenv (рдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рдХреБрдЫ рд╕рдВрдпреЛрдЬрди) рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@mattrobenolt

рдореВрд▓ рд░реВрдк рд╕реЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдП рдмрд┐рдирд╛ myvenv/bin/pip рдЪрд▓рд╛рдиреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЧреИрд░ рдорд╛рдирдХ рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ /opt/my-app рдФрд░ рдЖрдк /opt/my-app/bin/pip рдЪрд▓рд╛рддреЗ рд╣реИрдВ /opt/my-app/bin/python рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВред

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

рдЕрд╕рд▓реА рдЕрдЬрдЧрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ pip-<python binary path> рдкреНрд░рдХрд╛рд░ рдХреА рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреЗрдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рдФрд░ рдбрд┐рд╕реНрдЯреНрд░реЛ рдкреИрдХреЗрдЬрд░реНрд╕ рдХреЛ рд╕рд┐рд╕реНрдЯрдо-рдкреНрд░рдмрдВрдзрд┐рдд рдкрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рджреЗрдВред

-1 рджреВрд╕рд░реЛрдВ рдкрд░ pip , +1 рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдкрд░ред
рдореИрдВ рдЕрдкрдиреЗ рдХреБрдЫ рдлрд╝реНрд░реЗрдорд┐рдВрдЧ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рдкрд░ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рд╡рд┐рд░рд╛рдо рдкрд░ рдЬрд╛рдПрдБред

рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕рдорд╛рди рд╣реИ? рдпрд╣ рдПрдХ рдЪрд▓ рд░рд╣реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрдИ рдЕрдЬрдЧрд░ рд╣реЛрдиреЗ рдФрд░ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╕реЗ рдЖрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдмрд┐рдпрди рдЬреЗрд╕реА рдФрд░ рдбреЗрдмрд┐рдпрди рд╡реНрд╣реАрдЬреА рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ (рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ); рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП libreoffice3.5 рдФрд░ libreoffice4.3 рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХрдИ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ рднреА рдХрдИ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ @erikrose рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЬрдЧрд░ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ python рдЕрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реИред

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

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

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


рдЕрдм рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдпреЗ рд╕рдорд╛рдзрд╛рди рдкрд╕рдВрдж рд╣реИрдВ:

  • рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ pip<versionstuff> рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реВрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдПрдХ рдЕрдЪреНрдЫреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ) рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
  • pip (рдпрд╛ рдЕрдиреНрдп pip2 s рдпрд╛ pip3 s, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐) рдХреЛ рдмрд┐рдирд╛ рдкреВрдЫреЗ рдмрджрд▓рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рднреА рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВред рддреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рддрд░рд╣, рдХрдо рд╕реЗ рдХрдо, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреБрд░рдВрдд рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рд╡рд╣ рдЕрдкрдиреЗ рд▓рд┐рдП рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ pip рдХреНрдпрд╛ рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рдмрд╣реБрдд рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рджреЗрдЦреЗрдВ рдХрд┐ рдореМрдЬреВрджрд╛ pip рдХрд┐рд╕рдХрд╛ рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╣реИ - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди pip рдЦреБрдж рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ --yes рдпрд╛ --replace рдХрд╣реЗрдВ рдпрд╛ рдПрдХ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП Y рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рдпреВрдЬрд░рд▓реИрдВрдб-рдкреНрд░реЛрдЧреНрд░рд╛рдо-рджреИрдЯ-рдЖрдУ-рдлреНрд░реЙрдо-рдкреАрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ pip install рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╛рддрдЪреАрдд рдХрд░рдиреА рдкрдбрд╝ рд╕рдХрддреА рд╣реИ (рдкрд╛рдЗрдк рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП), рдФрд░ рдЙрдиреНрд╣реЗрдВ --replace-scripts рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрдВред (рдпрд╛ w/e) рдЙрдирдХреЗ рдХреЙрд▓рдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд╣реА рд╣реЛред
  • рдЗрдВрд╕реНрдЯреЙрд▓ рдореЗрдВ рдЪреАрдЬреЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ! рдЗрд╕рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рддрддреНрдХрд╛рд▓ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдкрд╛рдЗрдк рдмрд╛рдд рдирд╣реАрдВ рдХрд░рддрд╛

    • рдпрд╣ рдХрд┐рд╕ рдЕрдЬрдЧрд░ рдкрд░/рд╕реЗ рд╣реИ?

    • рдпрд╣ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

    • рдЬрд╣рд╛рдВ рдпрд╣ рдирдпрд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ

рдпрд╣ рд╕рдм рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреАред рдпрд╣ рддреБрд░рдВрдд рдореБрдЭреЗ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ pip рдореИрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╛рдЗрдк рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрдХрдорд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдпрд╣ рднреА рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдореИрдВ рд╕рд╣реА рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд╣реА site-packages рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

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

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

рдореЗрд░реЗ рдЖрдИрдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛

6 рдЕрдХреНрдЯреВрдмрд░, 2015 рдХреЛ рджреЛрдкрд╣рд░ 1:16 рдмрдЬреЗ, рдорд╛рд░реНрдХрд╕ рд╕реНрдорд┐рде рдиреЗ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рд▓рд┐рдЦрд╛:

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

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

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

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

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

tl;dr рдХреНрдпрд╛ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ $ npm install grunt рд╣реИрдВ, рдлрд┐рд░ $ npm install -g grunt-cli рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ $ grunt рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯрд╛рд▓ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ .

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

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

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

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдиреЛрдб рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реИрдВ, рддреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдЧреНрд░рдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ pip рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╢рд┐рдо рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

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

рдЖрдк рдорд╛рди рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ nvm рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп virtualenv рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рд╡рд╣реА рд╡рд┐рдЪрд╛рд░ред

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

рднрд▓реЗ рд╣реА grunt-cli рдХреЛрдб рдХрд╛рдлреА рд╕реНрдерд┐рд░ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛" рдЬреЛ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд░рдЦрддрд╛ рд╣реИ, рд╡рд┐рд╡рд╛рдж рдХрд╛ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЧрдбрд╝рдмрдбрд╝реА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдиреЛрдб-рд▓реИрдВрдб рдореЗрдВ 99% рдмрд╛рд░ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдкрде-рд╕реНрдерд╛рдиреАрдп рдЧреНрд░рдиреНрдЯ рд╣реЛрдЧрд╛, рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╡рд░реНрддрдорд╛рди рдкрде рдкрд░ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд┐рд╕ рдиреЛрдбрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЕрдЬрдЧрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЬрдЧрд░ 2 рдФрд░ рдЕрдЬрдЧрд░ 3 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдореИрдВ pip рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рднрд▓реЗ рд╣реА рдпрд╣ pip рдПрдХ pip-cli ( install -g crunt-cli рдХреЗ рдмрд░рд╛рдмрд░) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреЛ рдЕрдЬрдЧрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, рдХрд┐рд╕ рдЕрдЬрдЧрд░ рдХреЗ рдкрд╛рдЗрдк рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ pip рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣рд╛рдВ рдЕрдм рд╣рдорд╛рд░рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрде-рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рд╣реИред

рдЗрд╡реЛрдЬ рдХреЗ рд▓рд┐рдП +1, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ:

рдЗрдВрд╕реНрдЯреЙрд▓ рдореЗрдВ рдЪреАрдЬреЗрдВ рдХрд╣рд╛рдВ рд╕реЗ рдЖрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ! рдЗрд╕рд╕реЗ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рддрддреНрдХрд╛рд▓ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

+1 pip.+ рдХреЛ рдкрджрд╛рд╡рдирдд рдХрд┐рдП рдмрд┐рдирд╛ pip $ рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдкрд░, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬрдЧрд░ рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдирд╛ рд╣реИ рд╕реЗ рдкреАрдкред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рд╕рднреА рддрд░реНрдХреЛрдВ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╢рд╛рдпрдж рдФрд░ рдЕрдзрд┐рдХ рд░рд╛рдп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрдКрдВрдЧрд╛

рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЧрд┐рдЯрд╣рдм +1ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ _don't_ рдЕрдиреБрд╢рдВрд╕рд╛ python -m pip рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдордВрддреНрд░рдг рд╕рд╛рдорд╛рдиреНрдп рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓реИрдкрдЯреЙрдк рдХреА рддрд░рд╣ рд╣рд╛рде рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдкреНрд░рд╡рдг рд╣реИред

рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ: рдореИрдВ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣рдордд рд╣реВрдБред django-admin рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде Django рдореЗрдВ рдмрд╣реБрдд рд╕реА рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ; рдкрд╛рдЗрдк рдФрд░ django-admin рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП python -m рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдЬрд╛рдирд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред

рдореЗрд░реА рдПрдХрдорд╛рддреНрд░ рдЪрд┐рдВрддрд╛ рдмреБрд▓реЗрдЯ рдкреНрд╡рд╛рдЗрдВрдЯ 2: 10 рдФрд░ рдЕрдХреНрд╖рд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред UX рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдореИрдВ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдЬрд┐рд╕реЗ _anything_ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╕рдордп, "рдмрд╕ рдореБрдЭ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВ" рдЬрд╛рджреВ рдордВрддреНрд░ рдкреНрд░рд╛рд░реВрдк рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред

рдПрдХ рд╕реБрдЭрд╛рд╡ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ PyPA рдХреЗ рдмрдЬрд╛рдп Python рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ): py (рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рд╢реЙрд░реНрдЯрд╣реИрдВрдб) рдХреЛ python -m рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рдмрдирд╛рдПрдВред рд╣рд╛рдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЬрдЧрд░ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ "рдкреАрдИ рд░рди рдореЙрдбреНрдпреВрд▓, рдкрд╛рдпрдерди рд░рди рдХреЛрдб" рдХреЗ рд░реВрдк рдореЗрдВ рдмрдЪрд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдирдП рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ 2.7/3 рдкрд░ рдмреИрдХрдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред [345]ред

@ freakboy3742 рд╣рд╛рдБ, рдореЗрд░рд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реЛрдЧрд╛ рдХрд┐ рдлреНрд▓реЗрдХ 8, рдкреЗрдк 8, рдЗрддреНрдпрд╛рджрд┐ рд╕рднреА рдХреЛ рдЗрд╕ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреЛ рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкрд╛рдЗрдлреНрд▓реЗрдХреНрд╕ рдкрд╛рдЗрдерди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдмрд╣реБрдд рдирд┐рд░реНрднрд░ рд╣реИ, рдереЛрдбрд╝рд╛ рдФрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ)ред py рдХреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬрд▓реНрджреА рдСрдкреНрдЯ рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ py.test рдХреЗ py рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдореБрдЭреЗ рд╕рд╣реА рд╕реЗ рдпрд╛рдж рд╣реЛред

рдХреЗрд╡рд▓ pip рдХреЗ рдмрдЬрд╛рдп python -m pip рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдФрд░ рдкрд╕рдВрджреАрджрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рдХрд╛рд▓рдд рдХрд░рдиреЗ рдкрд░ +1ред

рдореИрдВ рд╢реБрд░реБрдЖрддреА (рдмрдЪреНрдЪреЛрдВ рдХреЛ рднреА) рдкрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдкрд╛рдпрдерди рдХреЛ рдирдП-рдирдП рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛ рд░рд╣рд╛ рд╣реВрдВред @dstufft рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдкрд╛рдпрдерди рд╕рд┐рд╕реНрдЯрдо рдкрде рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди рдирд╣реАрдВ рд╣реИред _рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ_, рдЕрдиреНрдп рдкрд╛рдпрдерди рд╡рд┐рддрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдпреЗ рдЬрдЯрд┐рд▓рддрд╛рдПрдВ рдФрд░ рднреА рдмрджрддрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдирд╛рдХреЛрдВрдбрд╛ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде, рдЖрдк рдкрд╛рдЗрдк рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдХреЛрдВрдбрд╛ рдПрдирд╡реА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдк conda install pip рдХреЛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ) рдФрд░ рдлрд┐рд░ рдкрде рдкрд░ рдкрд╛рдЗрдк рдЦреБрд╢реА рд╕реЗ рд░реВрдЯ рдПрдирд╡реА рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд░рд╣рддрд╛ рд╣реИ рди рдХрд┐ рдЖрдкрдХреЗ рдХреЛрдВрдбрд╛ рдПрдирд╡реАред рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдПрдирд╛рдХреЛрдВрдбрд╛ рдкрд╛рдпрдерди рдХреЛ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, python -m pip ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ _active_ рдкрд╛рдпрдерди рдореЗрдВ рдкрд╛рдЗрдк рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЕрд╕реБрд╡рд┐рдзрд╛ рдХреА рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдиреНрдп рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реНрд╡рд╛рдиреЛрдВ рдХреЛ рднреА рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ python -m pdb , python -m ipdb , python -m cProfile , python -m timeit , python -m pstats , python -m SimpleHTTPServer , python -m json.tool , python -m gzip , python -m filecmp , python -m zipfile , python -m encodings.* , python -m mimetypes , python -m tabnanny , python -m pydoc , python -m unittest , python -m calendar , рдФрд░ рд╢рд╛рдпрдж рджреВрд╕рд░реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред

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

рдХрдо рд╕реЗ рдХрдо рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП pip рдХрдорд╛рдВрдб рд░рдЦрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рд╣рдЬ рдФрд░ (рдЬреНрдпрд╛рджрд╛рддрд░?) рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ред

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЬрдбрд╝рддрд╛ рдореЗрдВ рднреА рдорджрдж рдорд┐рд▓реЗрдЧреАред

рдореБрдЭреЗ 'рдореВрд╡ рдкрд┐рдк/ рдЯреВ _рдкрд┐рдк/ рдПрдВрдб рдореЗрдХ рдкрд┐рдк.рдкреА' рдХрд╛рдлреА рдкрд╕рдВрдж рд╣реИред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдкреАрдЖрдИрдкреА/рдЖрдЬ рдореЗрдВ рдШреВрдордиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛрдиреЗ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ - рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╣рдо рдЖрдЬ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдЪреВрдВрдХрд┐ рд╣рдо рдХрд╛рдлреА рд▓рдВрдмреЗ рдмрд╣рд┐рд╖реНрдХрд░рдг рдкрде рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ Python 2.6 рдХреЗ рд▓рд┐рдП рд╣реИрдХ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкрд░реНрдпрд╛рдкреНрдд рдмрд╣рд┐рд╖реНрдХрд░рдг рдкрде рдорд╛рдирддреЗ рд╣реБрдП, рдХреНрдпрд╛ рд╣рдо рдпрд╣ рдирд╣реАрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрдерди 2.6 рдХрд╛ рдЗрддрдирд╛ рдХрдо рдЙрдкрдпреЛрдЧ рд╣реЛрдЧрд╛ рдХрд┐ рд╣реИрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ @audreyr рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ - рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЕрд▓рдВрдХреГрдд рд╣реИ (рдирд╣реАрдВ pip2 / pip3 /etc), рдФрд░ рдЯреВрд▓рд┐рдВрдЧ рдХреА рдкрд╛рдпрдерди рдкрд░рдд ( activate , et ред рдЕрд▓ред) рдЗрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рдЧреЛрд▓реЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдП рдмрд┐рдирд╛ "рд╕рд╣реА" рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдФрд░ рднреА рдЕрдзрд┐рдХ рдореМрд▓рд┐рдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ pip рднреА рдирд╣реАрдВ рдЪрд▓рд╛рдпрд╛? рдЕрдХреНрд╕рд░, рдореИрдВ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ virtualenv --requirement project/requirements.txt project ; рдЕрдЧрд░ рдореИрдВ рдПрдХ рдирдИ рдЪреАрдЬрд╝ рдХреЛ "рдЗрдВрд╕реНрдЯреЙрд▓" рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдПрдХ рдирдП рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХрд╛ рд╕рдордп рд╣реИред рдмреЗрд╢рдХ рдореИрдВ рдЗрд╕ рдирд┐рдпрдо рдХреЛ рд╣рд░ рд╕рдордп рддреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдореМрдЬреВрджрд╛ рд╡реЗрдирд╡реНрд╕ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реВрдВ, рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рдмреБрд░реА рдЖрджрдд рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЦрд╛рд╕рдХрд░ рдЕрдм рдЬрдм рдкрд╣рд┐рдпреЗ рдирдП-рд╡рд░реНрдЪреБрдЕрд▓-рдирд┐рд░реНрдорд╛рдг рдХреЛ рдХрд╛рдлреА рддреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВред

pip рдПрдХ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдирд╡реАрдирддрдо Mercurial рдпрд╛ Stackless Python рдХреЛ pip рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдЕрднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдкрд╣рд▓реА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХрднреА рднреА npm/bower рднрд╕реНрдо рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдк рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рддрдм рднреА рдХреЛрдИ рдиреЗрдЯ рдореЗрдВ рд▓рдЯрдХреЗ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рджреЗрдЦреЗрдЧрд╛, рдФрд░ рдУрдПрд╕ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдкрд╛рдпрдерди-рдкрд╛рдЗрдк рдФрд░/рдпрд╛ рдкрд╛рдпрдерди 3-рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ рдЕрд╕рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдлрд┐рд░ рд╡рд╣ рдХреЛрдИ рдЕрднреА рднреА sudo pip install -U someoldpackageyoudontwanttoupgrade рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ рдФрд░ рдУрд╣, рдУрдПрд╕ рдЖрдк рдкрд░ рдЪрд┐рд▓реНрд▓рд╛ рд░рд╣рд╛ рд╣реИред рд╣рд╛рдБ, рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕реЗ рдХреЗрд╡рд▓ sudo python -m pip рд╕реЗ рдмрджрд▓рдиреЗ рд╕реЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред

рдкреИрдХреЗрдЬ (рдФрд░ рд╕реНрд╡рдпрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╛рдЗрдк рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп, рдлрд┐рд░ pip2/pip3/рдЬреЛ рднреА рдирд╡реАрдирддрдо рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ/рдмрджрд▓реЗрдВ, рддрд╛рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдорд┐рд▓ рдЬрд╛рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрде (рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрд░рд╛ рд╣реИ ~/.local/bin/ ), рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрд╣рд┐рдпреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдУрдПрд╕ "рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕реЛрдЪрддрд╛ рд╣реИ" рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЯрдХрд░рд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдкреАрдЖрдИрдкреА рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬрдм рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ (https://github.com/pypa/virtualenv/issues/802) рдЬреЛ pyenv рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореБрдЭреЗ "/whereismypython/python -m pip install -g --userDev --Ireallymeanit --рдХреГрдкрдпрд╛listentome blah" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдФрд░ "python setup.py install blah" рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдореБрдЭреЗ рдПрдХ рдХрджрдо рдкреАрдЫреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

-1 рдореБрдЭ рд╕реЗ pip рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдкрд░, рдХреНрдпреЛрдВрдХрд┐ рдкрджрд╛рд╡рдирддрд┐ рдХреА рдЫрдбрд╝реА рдХреЛ _very_ рд╣рд▓реНрдХреЗ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

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

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

  1. рдпрд╣ рдХрд┐рд╕ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ
  2. рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ "-рдПрдо рдкрд┐рдк" рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

"рд░рдирдЯрд╛рдЗрдорд╡рд╛рд░реНрдирд┐рдВрдЧ: '/usr/lib/python2.7/site-packages' рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реБрдП рдХреЛрдИ рд╡реЗрдирд╡ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП '--user' рдкрд╛рд╕ рдХрд░реЗрдВ, рдпрд╛ рдХрд┐рд╕реА рднрд┐рдиреНрди рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП '<other_python> -m pip' рдЪрд▓рд╛рдПрдВред рд░рдирдЯрд╛рдЗрдо"ред

рдореБрдЭреЗ рдЕрдЬрдЧрд░ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рднреА рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ -> py рд╕рдВрдХреНрд░рдордг рдХреЛ рдкрд╛рдпрдерди 2->3 рдкреНрд░рд╡рд╛рд╕ рдореЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╣рд╛рдБ рдХреЗ рдмрдЬрд╛рдп рдЕрдЬрдЧрд░-рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред

@cjrh +1 python -m pip рдХреА рд╡рдХрд╛рд▓рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирдП рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдЬреНрдЮрд╛рди рдФрд░ рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╢рд┐рдХреНрд╖рд╛) рдХреЗ рд▓рд┐рдП рдПрдХ PyPA рдкрд╕рдВрджреАрджрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВред рдХреЛрдВрдбрд╛ рдФрд░ рдмреНрд░реВ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд▓реЗрдм рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред

рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ @audreyr рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред

рд╕рдВрдХреНрд░рдордг рд╢реБрд░реВ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред @ncoghlan рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╡рд┐рдЬреНрдЮрд╛рди/рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреАрдЖрдИрдкреА/рдХреЛрдВрдбрд╛/рдХрд╛рдврд╝рд╛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рд╛рд╢рд┐ рд╣реИред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдмреЗрд╣рддрд░ рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ рджреЗрдирд╛ рднреА рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред

python -m pip install ...
рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ pip install

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @glyph рдХрд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ virtualenv --requirement project/requirements.txt project . рднреА рдкрд╕рдВрдж рд╣реИ

рджрд░рдЕрд╕рд▓, рддреАрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рдЬреЛрд░ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкрд╛рдпрдерди 3 рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

-1 рдкрд╛рдЗрдк рд╣рдЯрд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрджрд▓рдиреА рд╣реЛрдЧреАред
pipX рдФрд░ pipX.Y . рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ +1

рдореЗрд░реЗ рдХрд╛рд░рдг рдпрд╣ рд╣реИрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ 2 рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ (рдЬреЛ рдХреБрдЫ рд╣рдж рддрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @audreyr рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛):

  1. рдореИрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХреМрди рд╕рд╛ рдкрд╛рдпрдерди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛): рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХрд╛ рдкрд╛рдпрдерди рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдЪреБрдирд╛ рдерд╛
  2. рдореИрдВ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рд╡рд┐рддрд░рдг рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпреЗ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡реЗ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рдХрд╛рдлреА рдЖрдо рд╣реИрдВред
рдореИрдВрдиреЗ рдХреЗрд╡рд▓ pip3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ python3-only рд╕рдВрдХреБрд▓ рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИ рдЬреЛ рдзреАрд░реЗ-рдзреАрд░реЗ (рд╢рд╛рдпрдж рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рд╕реЗ рддреЗрдЬрд╝) рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рддрд░рдг рдзреАрд░реЗ-рдзреАрд░реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ python3ред

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

рдХреИрд╕реЗ рдПрдХ рдирдП рдЖрджреЗрд╢ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рдЗрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдХреЗрд╡рд▓ python -m pip . рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рддрд╛ рд╣реИ

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

рд╡рд┐рд╢реЗрд╖ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ред

  1. рдпрджрд┐ рдкрд╛рдЗрдк рд╕реАрдзреЗ рдкрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕ рдЪреЗрдХ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡реЗрдирд╡/рдмрд┐рди/рдкрд╛рдЗрдк рдЗрд╕ рдЪреЗрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
  2. рдкреНрд░рддреНрдпреЗрдХ рдкреАрдЖрдИрдкреА рдирд╛рдо рдХреЗ рд▓рд┐рдП "рд╕рдордХрдХреНрд╖ рдкрд╛рдпрдерди рдирд╛рдо" рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдкрд╛рдЗрдк рдирд╛рдо 'рдкрд╛рдЗрдк' рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ pipname.replace("pip", "python", 1) рд╣реИред рдпрд╛рдиреА рд╣рдо рд╕рд┐рд░реНрдл рдкреНрд░рддреНрдпрдп рдХреЛ рдЕрдЬрдЧрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП pip2 -> python2, pip3.4 -> python3.4, рдЖрджрд┐ред рдпрджрд┐ рдкрд╛рдЗрдк рдирд╛рдо 'рдкрд╛рдЗрдк' рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕рд┐рд░реНрдл 'рдЕрдЬрдЧрд░' рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред
  3. рдпрджрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рдпрдерди рд▓реБрдХрдЕрдк рдФрд░ рдХреИрдиреЛрдирд┐рдХрд▓рд╛рдЗрдЬрд╝рд┐рдВрдЧ рдкрде рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж sys.executable рдХреЗ рдмрд░рд╛рдмрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдмрдврд╝рд╛рдПрдБред рдЗрд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП "рдЪреЗрддрд╛рд╡рдиреА: рдкрд╛рдЗрдк рдкрде рдкрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдЕрдЬрдЧрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЖрдк рд╢рд╛рдпрдж {pythonname} -m pip.{__main__ рдЕрдЧрд░ рдпрд╣ 2.6}" рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╕реЛрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред :-)

@ncoghlan рдФрд░ @DRmacIver . рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП +1

рдЪреВрдВрдХрд┐ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ "рдХрднреА-рдХрднреА рд▓реЛрдЧ рднреНрд░рдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ", рдХреНрдпрд╛ рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдпрдерди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реАрдбрдореЗ рдХреЛ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд▓реЙрдЧ рд╕рдВрджреЗрд╢реЛрдВ/рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдХрд╣реАрдВ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕" рд╣реИрдВ? рдЬреИрд╕реЗ, "рдбреЗрдмрд┐рдпрди рдкрд░, рдХреЗрд╡рд▓ python-virtualenv рдФрд░ python-dev рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдкрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" (рдпрд╛ рдЬреЛ рднреА рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рд╕рд╛рде рд╣реА, рдпрджрд┐ рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рдЬрдм 'рдкрд╛рдпрдерди' 'рдкрд╛рдЗрдк' рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмреБрд░реА рдЪреАрдЬреЗрдВ рд╣реЛрддреА рд╣реИрдВ" рдХреНрдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдбрд░рд╛рд╡рдиреА рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдФрд░ рдЬрд╛рд░реА рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ? рдпрд╛ --do-the-bad-things рдпрд╛ рдХреБрдЫ рдХреЗ рдмрд┐рдирд╛ рднреА рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд░ рджрд┐рдпрд╛?

python -m pip install ... рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ) рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рд╣реИ?

@willingc afaik рдпрд╣ рдХрдорд╛рдВрдб ubuntu рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

@nanuxbe рдзрдиреНрдпрд╡рд╛рджред рдЙрдмрдВрдЯреВ рдмрд╛рдзрд╛ рдХреНрдпрд╛ рд╣реИ?

@willingc рдкрд╛рдпрдерди 2.6 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@willingc рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╛рдзрд╛ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрд╕реЗ virtualenv рдХреЗ рд╕рд╛рде рднреА рдХрд░рддреЗ рд╣реИрдВред
$ python -m pip install --upgrade pip
/usr/bin/python: cannot import name defaultdict; 'pip' is a package and cannot be directly executed

+1 рдЬреЛ @ncoglan рдиреЗ рдКрдкрд░ рдХрд╣рд╛ рд╣реИред

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

@willingc рдЙрдмрдВрдЯреВ 14.04 (рд╡рд░реНрддрдорд╛рди рдПрд▓рдЯреАрдПрд╕) рдкрд░, рдкрд╛рдЗрдк рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЙрдмрдВрдЯреВ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдУрдПрд╕ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред AFAICR рдпрд╣ python2 рдФрд░ python3 рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИред рдкрд╛рдпрдерди 3 рдХреЗ рд▓рд┐рдП, рд╡реЗрдирд╡ рдХреЛ рдУрдПрд╕ рджреНрд╡рд╛рд░рд╛ рднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдУрдПрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬреИрд╕реЗ @nanuxbe рдмрддрд╛рддреЗ рд╣реИрдВ, рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрджреЗрд╢ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП python3 -m venv рднреАред рдФрд░ рдлрд┐рд░ рдпрджрд┐ рдЖрдк рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╣реИрдВ (I _think_ рдХреЗрд╡рд▓ py2 рдкрд░), рддреЛ рдЖрдкрдХреЛ InsecurePlatformWarning рд╕рдВрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИред рдпреЗ рд╕рднреА рдЬреНрдЮрд╛рдд рдФрд░ рдЬрдЯрд┐рд▓ рдореБрджреНрджреЗ рд╣реИрдВ, рдЬрд┐рдирд╕реЗ рдкрд┐рдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рдФрд░ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдореИрдВ рдЙрдирдХреА рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдзрдиреНрдпрд╡рд╛рдж рджреЗрддрд╛ рд╣реВрдВред рд╣рд░ рдХреЛрдИ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╕рдмрд╕реЗ рдЫреЛрдЯреА рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЪреАрдЬ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ рдХреЛрдИ рднреА рдЦреБрд╢ рдирд╣реАрдВ рд╣реЛрддрд╛ рдЬрдм рдЪреАрдЬреЗрдВ "рдмрд╕ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ"ред рдореИрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рд╕рднреА рдореБрджреНрджреЗ рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореИрдВ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпреЗ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрдордп рдФрд░ рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрдирд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддреЗ рд╣реИрдВред

wrt python -m pip рдмрдирд╛рдо pip : рдореИрдВ рдЕрдкрдирд╛ рд╡реЛрдЯ "рдЪреАрдЬреЛрдВ рдХреЛ рдпрдерд╛рд╡рдд рд░рд╣рдиреЗ" рдХреЗ рд▓рд┐рдП рдмрджрд▓ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА conda рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдирдП env рдореЗрдВ pip рдЬреЛрдбрд╝ рджреЗрдЧрд╛, 2.6 рд╕рднреА рддрд░рд╣ рд╕реЗ 3.5 (рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдРрд╕рд╛ рдХрд░реЗрдЧрд╛)ред рддреЛ рдЬрд┐рд╕ рдорд╛рдорд▓реЗ рдХрд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ pip рдХреЛ рдПрдХ conda env рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рдерд╛, рд╡рд╣ рдЕрдм рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдЧрд▓рдд conda env рдореЗрдВ рдПрдХ рдкрд╛рдЗрдк рдЪрд▓рд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред

рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╕реНрдпрд╛ рд╢реЗрд╖ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЖрдк pip рдХреЛ pip $ рдХреЗ рд╕рд╛рде рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ conda upgrade pip рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЧреИрд░-рдХреЛрдВрдбрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрджрд╛рд░ рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо pip install -U pip рдХреЗ рд▓рд┐рдП рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд╣рддрд╛ рд╣реИред "рд╡рд┐рдВрдбреЛрдЬ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдкрд╛рдЗрдк рдЦреБрдж рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХреЗрдВред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░реЗрдВ: python -m pip install -U pip ", рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

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

wrt pipX.Y : рд╢реАрд░реНрд╖ рдкреЛрд╕реНрдЯ рдореЗрдВ рджреА рдЧрдИ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдореИрдВрдиреЗ рдХрднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рди рд╣реА рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░реА рдпрд╣рд╛рдВ рдХреЛрдИ рд░рд╛рдп рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ "рдЙрдирд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВ" рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреМрди рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИред

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

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдкрд░рд┐рд╡рд░реНрддрди-рдердХрд╛рди рддрд░реНрдХ рдХреБрдЫ рд╕рдореНрдореЛрд╣рдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ

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

рдРрд╕рд╛ рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡реИрд╕реЗ рдореВрд▓ рдЕрдВрдХ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдмрд╣рд┐рд╖реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреА рд▓рдВрдмрд╛рдИ "рд╡рд░реНрд╖реЛрдВ рдХреЗ рдХреНрд░рдо рдкрд░" рдереАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмреАрдЪ рд▓реЛрдЧреЛрдВ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ python -m pip рдХреА рдУрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред pip , pipX.Y , рдЖрджрд┐ рддреБрд░рдВрдд рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

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

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ, рд╢рд╛рдпрдж рдореБрдЭреЗ, рдкреАрдИрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ "рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓" "рдкрд╛рдпрдерди-рдПрдо рдкреАрдЖрдИрдкреА" рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рд╣реЛ?

рдкрд╛рдпрдерди 3.4 рдореЗрдВ рдкреАрдИрдкреА 453 рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛, рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рддреЛ рдпрд╣ рдкрд╛рдЗрдерди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд▓рд┐рдП "рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓ ..." рдХреА рддрд░рд╣ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдкрд╛рдЗрдк рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХрджрдо рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

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

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

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

@ajdavis

рдкрд╛рдпрдерди 3.4 рдореЗрдВ рдкреАрдИрдкреА 453 рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛, рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЬрдм рддрдХ рдЖрдк рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛ рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдбреА

btw python -m pip рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП python install рд╕реЗ 1 рд╡рд░реНрдг рдХрдо рд╣реИред рдореБрдЭреЗ рдЗрд╕рдХреЗ рдХрд┐рд╕реА рднреА рд▓рд╛рдн рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╕рд╛рде рд╣реА рдпрд╣ рд╢рдмреНрджрд╛рд░реНрде рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрдирд╛ рд╕рдВрднрд╡ рд╣реИ - python install uninstall ... , python install -U pip ?

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

рдЬрд╣рд╛рдВ рддрдХ

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

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

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

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

рдПрдХ рд╡рд┐рдЪрд╛рд░ рдЬреЛ рдореИрдВ рдЕрдм рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рд╣реИ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдерди рд▓реЙрдиреНрдЪрд░ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп "рдкреАрдИ" рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХреА рд╢реБрд░реВрдЖрдд: https://mail.python.org/pipermail/linux-sig/2015- рдЕрдХреНрдЯреВрдмрд░/000000.html

@lvoz рд╣рд╛рдБ, рдЕрддреАрдд рд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рджреВрд╖рдгред FWIW, Django рдЧрд░реНрд▓реНрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓ рдЗрд╢реНрдпреВ рдиреЗ рдЦреБрдж рдХреЛ, @honzakral рдФрд░ @jambonrose рдХреЛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП 30-45 рдорд┐рдирдЯ рдХрд╛ рдЕрдЪреНрдЫрд╛ рд╕рдордп рджрд┐рдпрд╛ред 3 рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛ред

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

рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ https://mail.python.org/pipermail/distutils-sig/2015-November/027536.html ред

-1 рджреВрд╕рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрдИрдкреА +1 рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП

рдЪреВрдВрдХрд┐ pip 10.0, Py2.6 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рддрд╛ рд╣реИ, рдореИрдВ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрднреА рдПрдХ рдмрд╛рд░ рдкреНрд░рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЙрд╕ рдкрд░ рдореЗрд░реА рд░рд╛рдп 2017 рддрдХ рдмрджрд▓ рд╕рдХрддреА рд╣реИ

рдкрд┐рдВрдЧ @ncoghlan? :)

рдкрд╛рдЗрдк/ рдХреЛ _pip/ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ

рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрджреНрдпрдкрд┐ pip._internal рдХреЗ рд░реВрдк рдореЗрдВред #4700

рд╣рдо рд╕рдВрднрд╡рддрдГ рд╢реЗрд▓ рдЙрдкрдирд╛рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рдЗрдк, рдкрд╛рдЗрдкрдПрдХреНрд╕, рдФрд░ рдкреАрдЖрдИрдкреАрдПрдХреНрд╕.рд╡рд╛рдИ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдПрдХ рдиреБрд╕реНрдЦрд╛ рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

рдореБрдЭреЗ @dholth рдХрд╛ рдпрд╣ рдЖрдЗрдбрд┐рдпрд╛ рднреА рдкрд╕рдВрдж рд╣реИред рдереЛрдбрд╝рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╢рд╛рдпрдж #4145 рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрдИ рд▓рд┐рдирдХреНрд╕ рдбрд┐рд╕реНрдЯреНрд░реЛ рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрдпреЛрдЧреНрдп pip рд╢рд┐рдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ python2 рд╢рд┐рдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛:

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

рдПрдХ рд╕рдХреНрд░рд┐рдп рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд╣рд░ , рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдФрд░ python -m pip рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдкрд╛рдпрдерди рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдк рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбреЙрдХреНрд╕ рдореЗрдВ рд╣реИ (https://docs.python.org/3/installing/#basic-usage) рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИред .

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕рдХреНрд░рд┐рдп рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдкрд╛рдпрдерди-рд╕рдВрд╕реНрдХрд░рдг-рдпреЛрдЧреНрдп рдирд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ред

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

рдореИрдВ python -m pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрдиреБрд╢рдВрд╕рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдареАрдХ рдирд╣реАрдВ рд╣реВрдВ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ pip install рдХреЛ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рдЕрд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рд╢рд╛рдпрдж рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдЫреЛрдбрд╝рдХрд░)ред

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

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

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

рддреЛ, рдЕрдм рд╣рдо рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдо Python 2.6 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рддреЛ python -m pip рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдкрд╛рдЗрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рд╡рд┐рд╣рд┐рдд рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ (рдФрд░ рд╣рд╛рдВ, рдпреВрдирд┐рдХреНрд╕ рдкрд░ python2/python3 рд╣реИ, рдФрд░ py рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рд▓реЗрдХрд┐рди рд╣рдо рд╢рд╛рдпрдж рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

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

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

рд╣рдо рдкрд╛рдЗрдк 10 рдЬреИрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ, рдЬрд╣рд╛рдВ рдкрд╛рдЗрдк 9 рдФрд░ рдкрд╛рдЗрдк 10 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк-рдХреНрд▓реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ pip.main рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛)? рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреАрдЖрдИрдкреА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреАрдЖрдИрдкреА-рдХреНрд▓реА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИред рддреЛ рд╣рдо рдЙрд╕реА рдмреНрд░реЗрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдВрдЧреЗ рдЬреЛ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдУрдПрд╕ рд░реИрдкрд░ рдХреЗ рд╕рд╛рде рджреЗрдЦрддреЗ рд╣реИрдВред

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

рдпрджрд┐ рд╣рдо рдкрд╛рдЗрдк-рдХреНрд▓реА рдорд╛рд░реНрдЧ рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрдк-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рдард╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╛ рддреЛ рд╣рдореЗрдВ рдкрд╛рдЗрдк-рдХреНрд▓реА рдХреЛ рдкрд╛рдЗрдк рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреВрдЯ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╣рдореЗрдВ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ pip.main рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрд╛рдЗрдк-рдХреНрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ pip.__main__.main рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╛ рдмрд╕ рд░рдирдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: https://docs.python.org/2/library/runpy.html , рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ -m рд╡реИрд╕реЗ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд░рдирдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ +1ред

рд░рдирдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ +1ред

рдареАрдХ рд╡реИрд╕рд╛ рд╣реАред :)

рдЯреАрдЖрдИрдПрд▓ рд▓рдЧрднрдЧ runpy ред

рдЖрдкрдХрд╛ рдорддрд▓рдм https://docs.python.org/3/library/runpy.html рд╣реИ, рд╣реИ рдирд╛? :рдореБрд╕реНрдХреБрд░рд╛рдирд╛:

@ Juanlu001 рд╣рдо рдЕрднреА рднреА Python 2.7 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВред :)

#5508 рдкрд░ рдХреБрдЫ рдФрд░ рдЪрд░реНрдЪрд╛ рд╣реИ ( @dstufft рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдПрдХ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдерд╛!)

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рднреНрд░рдо рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд рдмреЗрдореЗрд▓ pip рдмрдирд╛рдо python -m pip рд╣реИред

ISTM рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ sys.executable рдФрд░ PATH рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкрд╛рдЗрдк рдХреЛ рдкрде (рдЬреИрд╕реЗ bin/pip ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрд▓рд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА/рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ sys.argv[0] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣рд╛рдВ рдЬреЛ рдПрдЬ-рдХреЗрд╕ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ: рдПрдХ рдУрдПрд╕ рдкрд░ рдЬрд╣рд╛рдВ sys.argv[0] рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИред AFAICT, рдпрд╣ Windows рдпрд╛ MacOS 10.13 (рд╣рд╛рдИ рд╕рд┐рдПрд░рд╛) рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рд╣рдо pip* рд░реИрдкрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдВ рдпрд╛ рдирд╣реАрдВред рдХреНрдпрд╛ рдореБрдЭрд╕реЗ рдХреЛрдИ рдЪреВрдХ рд╣реЛ рд░рд╣реА рд╣реИ?

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

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

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

рдХреБрдЫ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдЪрд░рдгреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдиреБрд╕реНрдЦрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП https://github.com/pypa/python-packaging-user-guide/issues/396 рджреЗрдЦреЗрдВред

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

рдореБрдЭреЗ рдЬреЛ рдорд┐рд▓ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдЙрдирд╕реЗ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ (AFAIK, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ sudo pip install -U pip рд░реИрдкрд░ рдХреЗ рд╕рд╛рде рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднреА pip.main рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ)ред рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд┐рд╕реНрдЯрдореЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕рд╛рдЗрдЯ рдореЗрдВ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдпрд╣ рдпрдХреАрдирди рд╣рдорд╛рд░реА рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИ - рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рд╕реНрдерд┐рддрд┐ рдЗрддрдиреА рдЙрд▓рдЭреА рд╣реБрдИ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрднреА рднреА рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЙрд╕ рд░рд╛рдЬреНрдп рдореЗрдВ рдкреБрдирд░реБрддреНрдкрд╛рджрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдП ...

@ncoghlan рдЙрд╕ рдореБрджреНрджреЗ рдХреЗ рдЙрд╕ рдХреНрд░реЙрд╕-рд░реЗрдлрд░реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред :)

@pfmoore рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реИрдкрд░ рдХреЛ _pip_ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдкреИрдХреЗрдЬ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛; рдХреНрдпрд╛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдирд╛ рд╣реИ рдпрд╛ рдЗрд╕реЗ _pip-cli_ рдкреИрдХреЗрдЬ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЙрдард╛рдИ рдЧрдИ рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ (рд▓рдЧрднрдЧ) рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реЛред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА:

  • _pip_ рдХреЛрдИ CLI рд░реИрдкрд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рдХреЗрд╡рд▓ python -m pip рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
  • _pip-cli_ python -m pip рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ pip рдЖрд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирдХрд▓ рдХрд░рддрд╛ рд╣реИ
  • _virtualenv_ рдХреЗ рдЗрдВрд╕реНрдЯрд╛рд▓-рдмрд╛рдп-рдбрд┐рдлреЙрд▓реНрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ _pip-cli_ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ

рдпрд╣рд╛рдБ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ:

  • рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА; рдпрд╣ рдЕрднреА рднреА pip рд╣реИред
  • рд╡рд┐рдВрдбреЛрдЬ рдЕрдкрдЧреНрд░реЗрдб рдпреВрдПрдХреНрд╕ рдореЗрдВ рд╕реБрдзрд╛рд░

    • pip install --upgrade pip рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ :рдЯрд╛рдбрд╛:

    • рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрднреА рднреА python -m pip install --upgrade pip-cli рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

    • рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдЕрдкрдбреЗрдЯ рдмрд╣реБрдд рдХрдо рдмрд╛рд░-рдмрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ

  • рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд╣рддрд╛ рд╣реИ "рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ ..." рдЬреЛ рдЕрднреА рднреА рд╡реЗрдирд╡ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
  • pipX рдФрд░ pipX.Y . рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛

    • рд╡реЗ virtualenv + рдУрдкреА рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдореБрджреНрджреЛрдВ рдореЗрдВ рдмреЗрдорд╛рдиреА рд╣реИрдВ; рд╡реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдХреЗрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ

    • рдереЛрдбрд╝реЗ рддрд░рд╣ рд╕реЗ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╣рдж рддрдХ рд╡рд┐рд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ (рдЬрдм рдбрд┐рд╕реНрдЯреНрд░реЛ рдЕрдпреЛрдЧреНрдп рд░реВрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)

рдЙрдкрд░реЛрдХреНрдд рдкрд░ рдЗрдирдкреБрдЯ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред


рдЕрдиреНрдп рдиреЛрдЯ:

  • рдореБрдЭреЗ pipX рдФрд░ pipX.Y рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж рдмрд╣рд┐рд╖реНрдХреГрдд/рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рд╕рдВрдмрдВрдзрд┐рдд: #4625 (рдореМрдЬреВрджрд╛ рд░реИрдкрд░реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛)

    • рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ: рдпрд╣ _pip-cli_ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛ рдбрд┐рд╕реНрдЯреНрд░реЛ-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛

  • python -m pip рдФрд░ pip рдХреА "рд╕реИрдирд┐рдЯреА рдЪреЗрдХ" рдЪреЗрдХрд┐рдВрдЧ рддреБрд▓реНрдпрддрд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, _pip-cli_ рдХреЗ рдПрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдЭреЗ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрддрд╛ рд╣реИред

@pradyunsg рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИред

рдореЗрд░реА рдУрд░ рд╕реЗ @pradyunsg рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП +1ред

pipX рдХреЗ рдПрдХ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ pip3 install --user ... рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ python3 -m pip install --user ... рдореЗрдВ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмреЛрдЭ рдирд╣реАрдВ рд╣реИред

рдЕрдЧрд░ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╡реЗ рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЕрдкрдиреЗ python2-pip рдФрд░ python3-pip рдкреИрдХреЗрдЬ рдореЗрдВ рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реЗрдВрдЧреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░рдгрдиреАрддрд┐ рдмрд╣реБрдд рд╕реАрдзреА рд╣реЛрдЧреА pipX , pipX.Y :

  1. рд░рд┐рд▓реАрдЬ рдирдВрдмрд░

    • рдкрджрд╛рд╡рдирдд pipX , pipX.Y ; рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рддрд╛ рд╣реИред

  2. рд░рд┐рд▓реАрдЬрд╝ n+1 (рдпрд╛ n+2)?

    • _pip_ рд╕реЗ pipX , pipX.Y рдирд┐рдХрд╛рд▓реЗрдВред

рдпрд╣ рдЗрддрдирд╛ рд╕реАрдзрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо n рдХреЛ рдпрд╣рд╛рдВ 18.0 рд╣реЛрдиреЗ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ; рдЕрдЧрд▓реЗ рдорд╣реАрдиреЗ рдХрд┐рд╕реА рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рддред рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рд╣реЛрдЧреА: рд╣рдо рдХрдм рддрдХ рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ? рдореИрдВ рдЙрд╕ рдкрд░ рдмрд╛рдбрд╝ рдкрд░ рд╣реВрдБред


pip рдХреЗ рд▓рд┐рдП, рдпрд╣ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛ _рдФрд░_ _pip-cli_ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдЬреЛрдбрд╝рдирд╛ рддрд╛рдХрд┐ _pip_ рдХреЗ pip рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ _pip-cli_ рдХреЗ pip рдХреЛ рд╕рдВрдХреНрд░рдордг рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рди рдХрд░реЗ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ _pip-cli_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА "рдмреАрдЯрд╛" рдЕрд╡рдзрд┐ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ _pip-cli_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо _pip_ рдореЗрдВ pip рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред

  1. рд░рд┐рд▓реАрдЬ рдирдВрдмрд░

    • _pip_ рдХреЗ pip рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

    • _pip-cli_ рдХреЛ _virtualenv_ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ; рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдпрд╣ _pip_ рдХреЗ рдмрд╛рдж рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдПред

    • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ _pip-cli_ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВред

  2. рд░рд┐рд▓реАрдЬ рдПрди+2

    • _pip_ рд╕реЗ pip рдирд┐рдХрд╛рд▓реЗрдВред

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


рдЕрдм, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рд╡реЗрдХ-рдЬрд╛рдВрдЪ/рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?

  • _pip_ рдХреЗ pip ? рд░рд┐рд▓реАрдЬ рдПрди + 1 рдореЗрдВ?
  • _pip-cli_'s pip ; рд░рд┐рд▓реАрдЬ рдПрди рдХреЗ рд▓рд┐рдП рджреМрдбрд╝ рдореЗрдВ?

@ pypa/pip-committers рдЖрдЗрдП pipX рдФрд░ pipX.Y рдХреЛ pip 18.1 рдореЗрдВ рд╣рдЯрд╛ рджреЗрдВ?

рдХреНрдпрд╛ рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЛ python -m pip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреА рд╣реИ?

рд╣рд╛рдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣реА рд╣реЛрддрд╛ред

рдпрд╣ рдЙрд╕рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдкреЗрдЪреАрджрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдкрд╛рдпрдерди" рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╕рд╣реА рдмрд╛рддред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдмрд╣рд┐рд╖реНрдХрд░рдг рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдЕрдиреБрдорд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
sys.executable, Shutil.who рдФрд░ рдЪрд▓ рд░рд╣реЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ a
рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдЧрд╛ред

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

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

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

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

yizhang-zen picture yizhang-zen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

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