Pip: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП --user

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

рдЬрдм рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдУрдПрд╕ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ pip install foo рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп sudo pip install foo рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрдм рдЙрдиреНрд╣реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рдореЗрд░рд╛ рдЗрд░рд╛рджрд╛ рдпрд╣ рд╣реИ рдХрд┐ pip рдХреЛ --user рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЪрд┐рдкрдХреЗ рд╣реБрдП рдмрд┐рдВрджреБ рд╣реИрдВ:

  • рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╡рд╣рд╛рдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ?
  • рдпрд╣ altinstall'd Pythons рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ? рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреИрд╕реЗ рдХрд┐ https://github.com/yyuu/pyenv . рдЬреИрд╕реЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ
  • рдЬрдм рд▓реЛрдЧ рдкрд╛рдЗрдк рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? /root/.local/ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд▓рдЧрддрд╛ред
  • get-pip рдФрд░ pypa рдЗрдВрд╕реНрдЯрд╛рд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?
  • ~/.local/bin рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
  • --user рд╡реИрд╢реНрд╡рд┐рдХ easy_install 'd рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рддрд╛ рдХреА рдХрдореА рд╣реИ, рдЬреЛ рдХрд╛рдлреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдРрд╕реЗ рдХрдИ рдореБрджреНрджреЗ рд╣реИрдВ рдЬреЛ рдпрд╣рд╛рдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ: #624 #1443 #1153 #1500 #1051

/рд╕реАрд╕реА @ncoghlan

user scheme auto-locked enhancement

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

рдореИрдВрдиреЗ рд░рд╛рдд рдореЗрдВ рд╕рдкрдирд╛ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ --user рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рдордЬрд╛рдХ рдирд╣реАрдВ) рдмрди рд░рд╣рд╛ рд╣реИ, рдореЗрд░реЗ рд╕рдкрдиреЛрдВ рдХреЗ рдЬрд▓реНрдж рд╣реА рд╕рдЪ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛?

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

pypa рдЗрдВрд╕реНрдЯрд╛рд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ?

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

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

рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдмрдирд╛рдП рд░рдЦреЗрдВрдЧреЗ, рд╡реЗ рдмрд╕ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

рдпрд╣ altinstall'd Pythons рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ?
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреИрд╕реЗ рдХрд┐ https://github.com/yyuu/pyenv . рдЬреИрд╕реЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреЛрдЬрдирд╛ .local/lib/pythonX.Y/site-packages рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдкреНрд░рдореБрдЦ/рдорд╛рдореВрд▓реА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХрд╛рдзрд┐рдХ рдкрд╛рдпрдерди рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдЬрдЧрд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ, рдкрд╛рдЗрдк рдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЛрдб рдореЗрдВ рдкрд┐рди рдХрд░рдирд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рд░реЗрдбрд╣реИрдЯ/рдлреЗрдбреЛрд░рд╛ рдмрдЧ рдЯреНрд░реИрдХрд░ рдкрд░ рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореБрджреНрджрд╛ https://bugzilla.redhat.com/show_bug.cgi?id=662034#c10

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Fedora/RedHat PATH=$PATH:$HOME/.local/bin:$HOME/bin рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдХреЗ /etc/skel/.bash_profile рдореЗрдВ рд╣реИред рдпрд╣ --user рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╕рд╛рдорд╛рди рдХреЛ рдЕрднреА рднреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдПрдЧрд╛, рдХрдо рд╕реЗ рдХрдо рдмреИрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╢реЗрд▓) рдХреЗ рд▓рд┐рдПред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╣реЛ?

рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рде рдкрд░ рдорд╛рдирдХ рдкрд╛рдпрдерди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд┐рд▓реА рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ - рдФрд░ рддрдХрдиреАрдХреА рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╕реНрддрд░реАрдп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реЗ %LOCALAPPDATA% рдХреЛ рд╕рд┐рд╕реНрдЯрдо-рд╕реНрддрд░ %PATH% $ рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рднреА рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ :-(

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

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

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

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

рдореИрдВ рдЗрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрд▓реНрджреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдореИрдВ рд╕рд┐рд░реНрдл рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

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

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

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

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

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ POSIX рдХреА рдУрд░ рдХреЛрдИ рдмрдбрд╝реА рдмрд╛рдзрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИред рдпрд╣ рдпреВрдПрдХреНрд╕ рд╡рд┐рдЪрд╛рд░ рдХреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ: рд╡реНрд╣реАрд▓ рдЖрдзрд╛рд░рд┐рдд рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдФрд░ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрдд рджреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп --user рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдПрдХ рдирдпрд╛ "--global" рдпрд╛ "--system" рдзреНрд╡рдЬ "рдирд╣реАрдВ" рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдЧрд╛ред

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

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

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдпрд╣ рд╣рдорд╛рд░реЗ рд╡рд┐рдлрд▓рддрд╛ рдореЛрдб рдХреЛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рдмрдирд╛рддрд╛ рд╣реИред

рдпреВрдирд┐рдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХрдард┐рди рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрднреА рддрдХ рд╕реВрдбреЛ рдХреЗ рд▓рд╛рдкрд░рд╡рд╛рд╣ рдЙрдкрдпреЛрдЧ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ
рдмреЗрд╡рдХреВрдлреА рднрд░реА рдмрд╛рддреЗрдВ рдХрд░рдирд╛ рдмреБрд░рд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдФрдЪрд┐рддреНрдп рдирд╣реАрдВ рд╣реИ..

sudo рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдорд╛рдзреНрдпрдорд┐рдХ рдореБрджреНрджрд╛ рдЖрдИрдПрдордУ рд╣реИред
рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдореЗрдВ рдУрдПрд╕ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдФрд░ рдкрд╛рдЗрдк рдХреЗ рдмреАрдЪ рд╕рдВрдШрд░реНрд╖ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, linux рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдПрдХ рдЕрд╕рдВрднрд╡ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

  1. рдУрдПрд╕ рдореИрдВрдбреЗрдЯ: 'рдУрдПрд╕ рдкреАрдХреЗрдЬреА рдПрдордЬреАрдЖрд░ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ; рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ roque pip-рдЗрдВрд╕реНрдЯреЙрд▓ рдкреИрдХреЗрдЬ ( get-pip 'd pip рд╕рд╣рд┐рдд)' рд╕реЗ рд╕рдВрдХреНрд░рдорд┐рдд рди рдХрд░реЗрдВред
  2. рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛: "OS рдкреИрдХреЗрдЬ (рдкрд╛рдЗрдк рд╕рд╣рд┐рдд) рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдбрд┐рд╕реНрдЯреНрд░реЛ рдХреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдмрд╕ рдХреБрдЫ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рджреБрд╖реНрдЯ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ ...."

рдПрдХ рдФрд░ рдмреЗрдмреА рд╕реНрдЯреЗрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ) рдХрд┐ рдЖрдк get-pip.py --user рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ PUG рдореЗрдВ --user virtualenv (рдФрд░ wheel ) рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИред twine рднреА, рдпрджрд┐ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ)

FWIW, рдбрд┐рд╕реНрдЯреНрд░реЛ рд╡реЗрдВрдбрд░ рднреА рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдорд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд░ OS рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЪрдпрдирд╛рддреНрдордХ рдЙрдиреНрдирдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрднреА рднреА рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХреА рдУрд░ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреНрд░рдпрд╛рд╕ рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╕рдВрдЧрдд рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ pip _is_ bad рдЪрд▓рд╛рддреЗ рд╕рдордп UAC рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЙрдиреНрдирдд рдХрдВрд╕реЛрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдЫреЛрдбрд╝рдХрд░ pip рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкреАрдЖрдИрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ "рдУрдХреЗ" рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХреЗрд╡рд▓ рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ ...

@pfmoore рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЖрдк pip install рдХреБрдЫ рдФрд░ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ?

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

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

рдкреНрд░рд╕реНрддрд╛рд╡ рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдпрд╣ рдПрдХ рдЕрдиреБрдорддрд┐ рддреНрд░реБрдЯрд┐ рдХреЛ --user install . рд╕реЗ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬрд╛рдБрдЪ рд╡рд┐рдЪрд╛рд░ (#1048) рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛

рд╡реНрд╣реАрд▓ рдХреЗрд╕ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдФрд░ рд╣рдо 99.9% рдХреЗрд╕ рдХреЛ sdists рд╕реЗ рдХрд╡рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХреЗрд╡рд▓ setup.py рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрдВрдХреА рдЪреАрдЬреЗрдВ рдХрд░рддреА рд╣реИред

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

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

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

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

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

рдХреНрдпрд╛ рдкрд╛рдЗрдерди рдореЗрдВ sys.localprefix рдЬреИрд╕реЗ рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ (рдореИрдВ рдпрд╣рд╛рдВ рдкрд╛рдЗрдерди-рджреЗрд╡ рджреЗрдЦрддрд╛ рд╣реВрдВ)?
Sys.localprefix sys.prefix рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдЧрд╛ред рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╡реЗ рдЙрдкрд╕рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдЙрдкрд╕рд░реНрдЧ = '/ usr', рд╕реНрдерд╛рдиреАрдп рдЙрдкрд╕рд░реНрдЧ = '/ usr/рд╕реНрдерд╛рдиреАрдп')ред Pip рдФрд░ easy_install sys.localprefix рдХреЛ рдПрдХ рд╕реНрдерд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрджрд┐ sudo рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ рддреЛ --user рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдлреЗрдбреЛрд░рд╛ 17 рдореЗрдВ "рдЬреЗрдо рдЗрдВрд╕реНрдЯрд╛рд▓" рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд░реВрдмреА рдбреЗрд╡реЗрд▓реНрд╕ рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдВрддреБрд╖реНрдЯ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛:

  • "рдордгрд┐ рдЗрдВрд╕реНрдЯрд╛рд▓ рдлреВ" "рдлреВ" рдХреЛ ~/somedir рдореЗрдВ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдпреВрдЖрдИрдбреА != 0
  • "рдордгрд┐ рд╕реНрдерд╛рдкрд┐рдд рдлреВ" "рдлреВ" рдХреЛ /usr/рд╕реНрдерд╛рдиреАрдп/somedir рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ uid == 0
  • "рдпрдо рдЗрдВрд╕реНрдЯрд╛рд▓ рд░реВрдмреАрдЧреЗрдо-рдлреВ" рдЖрд░рдкреАрдПрдо-рдкреИрдХреЗрдЬреНрдб "рдлреВ" рдХреЛ /usr/somedir рдореЗрдВ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рддрд╛ рд╣реИ

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

@bkabrda рдЬрдм рддрдХ рдЖрдк $PATH рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддрдм рддрдХ рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЖрдкрдиреЗ рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?

@Ivoz рдЬреИрд╕рд╛ рдХрд┐ @dstufft рджреНрд╡рд╛рд░рд╛ рдиреЛрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдлреЗрдбреЛрд░рд╛ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА $HOME/.local/bin PATH рдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд┐рдпрд╛ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдмрд╛рдд)ред

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

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

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

@rkuska рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ "рд▓реЛрдХрд▓рдкреНрд░рд┐рдлрд╝рд┐рдХреНрд╕" рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛, рд╕рд░рд▓ рдФрд░ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рд╣реИ @bkabrda рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд░реНрдХ рдЬреИрд╕реЗ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд┐ рдЕрдЬрдЧрд░ 3.x рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдЬрдЧрд░ рдмрдирд╛рддреЗ рд╣реИрдВред

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

@lvoz
рдЖрд░реНрдХ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ $HOME рд╕реЗ PATH рдореЗрдВ рдХреЛрдИ рдкрде рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдпрд╣ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рд░реВрдмреА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдХреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреА рд╣реИред

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

рдХреЗрд╡рд▓ FYI рдХрд░реЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлреЗрдбреЛрд░рд╛ рдХреЗ Copr рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ Python 3.4 RPM рдмрд┐рд▓реНрдб рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдкрд░реАрдХреНрд╖рдг, рдпрджрд┐ рдЖрдк рдХреБрдЫ рднреА рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ)ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕ рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдХреЛрдб рдЖрджрд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдбреЗрдмрд┐рдпрди-рдкрд╛рдпрдерди рдПрдордПрд▓ рдкрд░ рдмреИрд░реА рд╡рд╛рд░рд╕реЙ [2] рдХреЗ рд╕рд╛рде рдореЗрд░реА рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВред
(рд╣рдорд╛рд░реЗ рдкреИрдЪ рдХреЛ рдЕрднреА рднреА рдХреБрдЫ рдкреНрдпрд╛рд░ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдВ, рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдПрдЯреАрдПрдо рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)

[1] http://copr-fe.cloud.fedoraproject.org/coprs/bkabrda/python-3.4/
[2] https://lists.debian.org/debian-python/2014/03/msg00046.html

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди AFAIK рдЖрд░реНрдХ рдиреЗ рдХрднреА рднреА рдкрд╣рд┐рдпрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рди рд╣реА рд╣рдо рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрджрд┐ рдореИрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЧрд▓рдд рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ)ред

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

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

@felixonmars рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдЖрд░реНрдХ рд╡реЗрдирд╡ рдкрд░ рдЙрд╕реА рддрд░рд╣ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдбреЗрдмрд┐рдпрди рдкрд░ рд╣реИ?

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

@dstufft рд╣рд╛рдВ, рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрдЬрд╛рдп рдмрдВрдбрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИред

@bkabrda рддрд╛рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдП рдпрджрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдк рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡/рд╡реЗрдирд╡ рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЬреЛ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдВрдд рдирд╣реАрдВ рд╣реИ)ред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдо рдорд╛рди рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдкрд╛рдпрдерди рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рд╣реЛрдордбрд┐рд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ https://github.com/yyuu/pyenv (рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рдпрдерди рдЪрд▓рд╛рддрд╛ рд╣реВрдВ)ред рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдиреБрдорддрд┐ рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред

рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдЬреИрд╕рд╛ @dstufft рдиреЗ рдХрд╣рд╛, рдЧреИрд░-рд░реВрдЯ рдЕрдЬрдЧрд░реЛрдВ рдХреЛ рд╣рдердХрдВрдбрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pyenv рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ, рдпрд╣ root рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреБрдВрдЬреА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЬреАрдм рд╣реЛрдЧрд╛ (рдЬрд╣рд╛рдВ "рд╡реИрд╢реНрд╡рд┐рдХ" != "рд╕рд┐рд╕реНрдЯрдо")

рд╣рдордиреЗ рдлреЗрдбреЛрд░рд╛ 17 рдореЗрдВ "рдЬреЗрдо рдЗрдВрд╕реНрдЯрд╛рд▓" рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ

рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлреЗрдбреЛрд░рд╛ 17 рдХреЗ рд▓рд┐рдП рдордгрд┐ рдХреА рдЖрд░рдкреАрдПрдо рдпрд╣ рдПрдХ рдбрд┐рд╕реНрдЯреНрд░реЛ рд╣реИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ ?, рдпрд╛ рдордгрд┐ рдХреЗ рдкрд╛рд╕ рдпрд╣ рддрд░реНрдХ рд╣реИ?

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

рдЖрд╣ @felixonmars рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/python , рдЕрдЧрд░ рдЖрдк рдХреЗрд╡рд▓ --without-ensurepip рдкрд░ рдХреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдареАрдХ рд╣реИ . рдпрд╣ рд╡реЗрдирд╡ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рддрдкрд┐рдк рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддрд╛ рд╣реИред рдкреИрдЪ рдЙрдмрдВрдЯреВ (рдбреЗрдмрд┐рдпрди?) рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ rm -rf рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рддрдкрд┐рдк рдкреИрдХреЗрдЬ рдкрд░ рд╣реА рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдПрдХ рд╡реЗрдирд╡ рдХреЗ рднреАрддрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдирд┐рдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╛ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдФрд░ рдиреЗ рдкрд╣рд▓реЗ, рд▓реЗрдХрд┐рди рдзрд╛рдЧрд╛ рдХрдИ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдлрд▓рджрд╛рдпреА рдирд╣реАрдВ рдерд╛ред рдореБрдЦреНрдп рдмрд╛рдзрд╛ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрдд IIRC рдереА, рд▓реЗрдХрд┐рди рдЗрди рджрд┐рдиреЛрдВ sysadmins рдФрд░ pip рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреЗрд╣рддрд░ рдпрд╛ рдмрджрддрд░ рдХреЗ рд▓рд┐рдП virtualenv/pip/setuptools рдЕрдкрдбреЗрдЯ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдХрд┐ рд╡рд╣ рдЪрд░реНрдЪрд╛ рдбрд┐рд╕реНрдЯреБрдЯрд┐рд▓реНрд╕-рд╕рд┐рдЧ рдпрд╛ рдкрд┐рдкрд╛-рджреЗрд╡ рдкрд░ рд╣реБрдИ рдереАред

рдпрд╣ рдХреИрдЯрд▓реЙрдЧ-рд╕рд┐рдЧ рдерд╛: https://mail.python.org/pipermail/catalog-sig/2013-February/004773.html

@dstufft рдУрд╣, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдмрдВрдбрд▓ (рд╢рд╛рдпрдж рдкреБрд░рд╛рдирд╛) рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ :)

@felixonmars рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ afaik рдореЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ :) (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдпрджрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдЕрдВрджрд░ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рдВрддрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ)

@dstufft рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕реНрд▓реЗрд╡реЗрдХ рдХрд╛ рд░реАрд╡реНрд╣реАрд▓ рдХрд┐рдХ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╡рд┐рд╖рдп рд╣реИ :)

рд╣рд╛рдБ, https://lists.fedoraproject.org/pipermail/python-devel/2014-March/000583.html рдХреЗ рдЕрдВрддрд┐рдо рдмрд┐рдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ :(

@dstufft рдзрдиреНрдпрд╡рд╛рдж!

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

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

рдлреЗрдбреЛрд░рд╛ рдкрд░ "рдордгрд┐ рдЗрдВрд╕реНрдЯреЙрд▓" рдХреЗ рд▓рд┐рдП @qwcode , рдпрд╣ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдкреИрдЪ рд╣реИред рдЯреАрдмреАрдПрдЪ рдореИрдВрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдлреЗрдбреЛрд░рд╛ рдХреЗ рд░реВрдмреАрдЧреЗрдореНрд╕ рдХреЛ рдирд╣реАрдВ рдЫреБрдЖ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдерд╛ред

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд▓рд┐рдВрдХ рдЕрдЬрдЧрд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧ рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ [1]ред рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдкрд╛рдпрдерди рдХреЛрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рди рдХреЗрд╡рд▓ pip рдмрд▓реНрдХрд┐ easy_install рдФрд░ python setup.py install рдХреЗ рд╕реНрдерд╛рдиреАрдп рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕рдХреЗ рдмрд╛рдж рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ( рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) sys.localprefix dir рдпрджрд┐ uid==0 рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ dir рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдпрджрд┐ uid!=0 рдЬреИрд╕рд╛ рдХрд┐ @bkabrda рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреАрдЖрдИрдЖрд░ рдореЗрдВ рдкреАрдЖрдИрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред

[1] http://bugs.python.org/issue1298835

рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдХ рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЪрд░реНрдЪрд╛ рдХреЛ рдЕрдВрдХ 1298835 рд╕реЗ рдкреАрдкрд╛-рджреЗрд╡ [1] рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред
[1] https://groups.google.com/forum/#!topic/pypa -dev/r6qsAmJl9t0

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП --user

рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░!

pip install foo рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп sudo pip install foo рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ

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

  1. рдЙрдирдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЛ рдИрдореЗрд▓ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВред рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рдзреАрдорд╛ рдФрд░ рдердХрд╛рдК рд╣реИред
  2. рдкреИрдХреЗрдЬ рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рджреЛ рдФрд░ рдХрд░реЛред

рдХреЗрд╡рд▓ рдЕрдЧрд░ рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдиреБрднрд╡реА рдпрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд╛рдХрд┐рдл рд╣реИрдВ, рддреЛ рд╡реЗ pip install --user рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рд╣рдо '--рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рдХреЗ рд╡рд┐рд░реБрджреНрдз рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХрдо рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ --user рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рд╡рд┐рдХрд▓реНрдк рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЕрдиреБрдорддрд┐ рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦрдирд╛ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ (conda/conda#448)ред

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

рдореБрдЭреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП "рдлрд╝реЙрд▓рдмреИрдХ рдЯреВ --рдпреВрдЬрд╝рд░ рдСрди рдкрд░рдорд┐рд╢рди рдПрд░рд░" рд╡рд┐рдХрд▓реНрдк рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ "рдбрд┐рдлреЙрд▓реНрдЯ рдЯреВ --рдпреВрд╕рд░ рдФрд░ рдлреЙрд▓рдмреИрдХ рдЯреВ рд╕рд┐рд╕реНрдЯрдо" рдФрд░ рд╢рд╛рдпрдж --system рдпрд╛ --system-only рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ рд╡рд╛рдкрд╕реА рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдПред рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдирдмреВрдЭрдХрд░ рдкрд╛рдЗрдк рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрд╕реНрдЯреЙрд▓ рдорд┐рд▓реЗрдЧрд╛, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд┐рдирд╛ рдЕрдиреБрдорддрд┐ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреА, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреЛрдИ рдмреИрдХ-рдХрдВрдкреИрдЯ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореЗрд░рд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рдЕрдирдЬрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ pip install spam; python -c "import spam" рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрднрд╡рддрдГ --user рдХреЗ рд╕рд╛рде рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдЪреЗрддрд╛рд╡рдиреА)ред

рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ #2403 рдФрд░ #2401 рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЦреЛрд▓реЗ рдЧрдП рдереЗ, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ sudo pip install рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд╣рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЕрдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рдЕрдВрдд рд▓рдХреНрд╖реНрдп рд╕рд┐рд░реНрдл рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ --user рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ, рдХреЛрдИ рдЬрд╛рджреБрдИ рдЕрдиреБрдорддрд┐ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рд╣реИ, рдФрд░ --global , --system рдЬреИрд╕реЗ рдПрдХ рдирдпрд╛ рдзреНрд╡рдЬ рдЬреЛрдбрд╝реЗрдВ, рдпрд╛ --no-user рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдорд╛рди рд╣реЛрдЧрд╛ рдЪрд╛рд╣реЗ рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ/рдХрд╣рд╛рдБ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдВред

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

рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЬрд┐рд╕ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ --user рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИ рдФрд░ рдЙрди рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ --global рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡/рд╡реЗрдирд╡ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдирддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рднрд╛рд░реА" рд╡рдЬрди рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рд╡реЗ рдХреЗрд╡рд▓ site.py рдкреИрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ ENABLE_USER_SITE рд╕реЗ False рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ред

+1, рдФрд░ рдореИрдВ --system рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдиреЛрдЯ рдХрд░реВрдБрдЧрд╛, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ, рдЙрдмрдВрдЯреВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ:

https://launchpad.net/ubuntu/+source/python-pip/1.5.6-4ubuntu1

09 рдлрд░рд╡рд░реА, 2015 рдХреЛ рд╢рд╛рдо 04:41 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдЕрдВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдмреЗрд╣рддрд░ рдЕрдВрдд рд▓рдХреНрд╖реНрдп рд╕рд┐рд░реНрдл рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ --user рд╣реИ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдХреЛрдИ рдЬрд╛рджреБрдИ рдЕрдиреБрдорддрд┐ рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ --global рдЬреИрд╕рд╛ рдПрдХ рдирдпрд╛ рдзреНрд╡рдЬ рдЬреЛрдбрд╝реЗрдВ,
--system , рдпрд╛ --no-user рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред рдЗрд╕
рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдордЭрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдЬреИрд╕рд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛
рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ/рдХрд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред

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

  • рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдкрд╛рдпрдерди
  • рдкрд╛рдЗрдиреЗрд╡ рдиреЗ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
  • рдХреЛрдВрдбрд╛ рдиреЗ рдкрд╛рдпрдерди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛
  • рдирд┐рдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди
  • рдХрд╕реНрдЯрдо рд╕рдВрдХрд▓рд┐рдд рдкрд╛рдпрдердиред

рдпрд╣ _only_ *nix рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ Python рдХреЛ рд╢рд┐рдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ --global рдЙрд╕ рдЭрдВрдбреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдирд╛рдо рд╣реИред

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

рддреЛ рдЕрдЧрд░ рдЙрдмрдВрдЯреВ рдкреИрдЪ рд╡рд╛рдкрд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкрд░ рд╕рдордпрд░реЗрдЦрд╛ рдХреНрдпрд╛ рддрдп рд╣реЛ рд░рд╣реА рд╣реИ? рдПрдХ рд╣рдлреНрддрд╛/рдорд╣реАрдирд╛/3 рдорд╣реАрдиреЗ/6 рдорд╣реАрдиреЗ/рд╕рд╛рд▓...?

рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлрд┐рдХреНрд╕реНрдб рд╕реЗ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдЙрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ 2 рдкреЛрд╕реНрдЯ рдкрд╣рд▓реЗ рдерд╛ (рдЬрд┐рд╕реЗ рдЕрднреА рднреА рдЕрдиреНрдп рдкреАрдЖрдИрдкреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рд╛рдЗрди рдСрдл рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рд╣рдо рд╕рдВрднрд╡рддрдГ рд╕рдВрдХреНрд░рдордг рдпреЛрдЬрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рддреНрдп рд╣реИрдВ:

  • рдЬрдм --user рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо _always_ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
  • рдЬрдм --global (рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо _always_ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  • рдЬрдм рди рддреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ:

    • рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    • рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    • рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ sys.path рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡реЗ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ --user рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдореЗрдВ sudo pip install foo рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХреЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм --user рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ --global рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ

  • рдЬрдм --user рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо _always_ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
  • рдЬрдм --global (рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА) рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо _always_ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
  • рдЬрдм рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╣рдо рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ:

    • рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    • рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    • рдЕрдВрдд рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ --user рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╣рд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рджреВрд╕рд░реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд▓рдВрдмреА рд╕рдордпрд╛рд╡рдзрд┐ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ (рдЬреИрд╕реЗ рдирдордХ, рд╢реЗрдл, рдХрдардкреБрддрд▓реА) рдпрд╛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ (рдЬреИрд╕реЗ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрдХреЗ рд╣реБрдП рдлреИрдмреНрд░рд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХрд╕реНрдЯрдо рдПрдХ) рдЬреЛ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ sudo pip install <foo> рд╡реИрд╢реНрд╡рд┐рдХ рдкрд╛рдпрдерди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╣рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рджреЗрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдПрдХ рд╕реНрдкрд╖реНрдЯ --global рдзреНрд╡рдЬ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

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

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

рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдИ рдорджрдж рдЪрд╛рд╣рд┐рдП рддреЛ рдореБрдЭреЗ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд░рд╣реЗрдВред

рдореИрдВ @dstufft рдХреА рдпреЛрдЬрдирд╛ рдкрд░ +1 рд╣реВрдВред рдореИрдВ рдмрддрд╛рдП рдЧрдП рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ --global рдХреЗ рд▓рд┐рдП рдЬрд╛рдКрдВрдЧрд╛ред рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдмрд╛рдбрд╝ рдкрд░ рдмреИрдареЗ рд╣реИрдВ, рдЪрд▓реЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред

@ncoghlan рдХреЗ рд╕реБрдЭрд╛рд╡ рдкрд░ O'n рдФрд░ +1 рдХрд┐ Python 3.5 Windows рдкрд░ PATH рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрд╝реЗрдВред рдЖрдЗрдП рдЗрд╕ рд╕рдВрдХреНрд░рдордг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдФрд░ рд░реБрдХрд╛рд╡рдЯ рд╕реЗ рдмрдЪреЗрдВред

рдореИрдВ @dstufft рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП +1 рдФрд░ --global рдХреЗ рд▓рд┐рдП +1 рднреА рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА sudo pip install foo рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ --global рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рд░реВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? (рдЬреЛ sudo pip install foo рдХреЛ рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬреИрд╕рд╛ рд╡рд╣ рдЕрднреА рдХрд░рддрд╛ рд╣реИ)

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

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

рдЕрдЧрд░ рдореИрдВ рдкрд╛рдпрдерди 2.7 рдФрд░ 3.4 (рдкрд╛рдпрдерди 3.4 рдореЗрд░реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде) рдореЗрдВ pip install pytest --user рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг py.test рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛? рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рджреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ "рдЖрдЦрд┐рд░реА рдПрдХ рдЬреАрдд" рд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬреЛ _not_ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдЕрдЧрд░ рдпрд╣ "рдкрд┐рдЫрд▓реА рдЬреАрдд" рд╣реИ, рдФрд░ рдореИрдВ 3.4 рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж 2.7 рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ 3.4 рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдареАрдХ рдХрд░реВрдВ?

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

    C:\Apps\Python34\python.exe -m pip install pytest --user
    C:\Apps\Python27\python.exe -m pip install pytest --user
    C:\Apps\Python34\python.exe -m pip uninstall -y pytest

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

рджреВрд╕рд░рд╛, рдХреНрдпрд╛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ py.test.exe рдХрд╛ рдЪреЗрдХрд╕рдо RECORD рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рди рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдПрдЧрд╛? рдЕрдЧрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХреИрд╕реЗ рдХрд░реВрдВ? рдпрджрд┐ рдпрд╣ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдпрд╣ рдореЗрд░реА рдкрд╛рдпрдерди 2.7 рдкрд╛рдЗрдЯреЗрд╕реНрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ (exe рдХреЛ рд╣рдЯрд╛рдХрд░) рддреЛрдбрд╝ рджреЗрдЧрд╛?

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

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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рд╛рдЭрд╛ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рд╡реЗ POSIX рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдкрдиреА рд╕рд╛рдЭрд╛ рдмрд┐рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ: рдкрд╛рдпрдерди 3 рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдпреЛрдЧреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдпреЛрдЧреНрдп рдирд╛рдо рдкрд╛рдпрдерди 2 рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧрд╛ред

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

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

рдУрд╣, рдФрд░ рдмреНрд▓реЗрд╣ред рдореЗрд░реА рдорд╛рдВрд╕рдкреЗрд╢рд┐рдпреЛрдВ рдХреА рд╕реНрдореГрддрд┐ рдореЗрд░реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди (3.4) рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯреЙрд▓ рдлреВ" рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 100% рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИред рдпрд╣ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд░рдХ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

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

рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрддреНрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ?

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

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

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

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

рдлрд┐рд░ рд╕реЗ рд╕рдордЭрд╛ -m , рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдЪреАрдЬреЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдордЬрдмреВрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдпрд╣ рдереА рдХрд┐ рд╣рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pip install foo рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ( -m рдХреЗ рд╕рд╛рде)

рдкрд╛рдЗрдк рдореИрдиреБрдЕрд▓ рдореЗрдВ _mention_ рд╡рд┐рдХрд▓реНрдк рднреА рдирд╣реАрдВ рд╣реИрдВ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -m рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдПрдХ рдорд╛рдорд▓реЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред

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

рдлрд░рд╡рд░реА 09, 2015, 07:58 рдЕрдкрд░рд╛рд╣реНрди рдкрд░, ncoghlan рдиреЗ рд▓рд┐рдЦрд╛:

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

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

https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1419695
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725848

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

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдбреЗрдмрдВрдЯреВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рд╕рд╛рдЗрдЯ-рд╡реНрдпрд╛рдкреА pip.conf рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рд╣реЛрдЧрд╛
рдбрдмрд▓ рдЪреЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред

https://pip.pypa.io/hi/latest/user_guide.html#configuration

рдПрдХ рдЬрдЯрд┐рд▓рддрд╛: рд╣рдо рдкрд╛рдпрдерди 2 рдФрд░ рдкрд╛рдпрдерди 3 рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд╛рдЗрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ,
рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рдкрд╛рдпрдерди, рдЬреИрд╕реЗ /etc/{xdg/pip/}/pip{2,3}.conf рдпрд╛ рдХреБрдЫ рдРрд╕реЗред

10 рдлрд░рд╡рд░реА 2015 рдХреЛ рд╕реБрдмрд╣ 01:24 рдмрдЬреЗ рдкреЙрд▓ рдореВрд░ рдиреЗ рд▓рд┐рдЦрд╛:

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

рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ (рд╢рд╛рдпрдж рд╕рднреА * рдирд┐рдХреНрд╕?) рдкрд░ рд╣рдорд╛рд░реА рдХреЛрдИ рдЯрдХреНрдХрд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐
рдкреБрд╕реНрддрдХрд╛рд▓рдп ~/.local/lib/pythonX.Y/site-packages . рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ

рд╣рдо _do_ рд╣рд╛рд▓рд╛рдВрдХрд┐ ~/.local/bin рдкрд░ рдЯрдХрд░рд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред a . рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
pip install --user foo рдФрд░ pip3 install --user foo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ 'рдлреВ'
рдЕрдВрдд рдореЗрдВ ~/.local/bin/foo рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВред

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлреЗрдбреЛрд░рд╛ рдПрдХрдорд╛рддреНрд░ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдбрд┐рд╕реНрдЯреНрд░реЛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ~/.local/bin рд╕реЗ $PATH рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рдФрд░ рдЗрд╕реЗ /usr/bin рдФрд░ /usr/local/bin рд╕реЗ рдкрд╣рд▓реЗ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП) рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдЖрддреЗ рд╣реИрдВ)ред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рддрд╛рдХрд┐ ~/.local/bin рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ $PATH рдкрд░ рд╣реЛред

10 рдлрд░рд╡рд░реА 2015 рдХреЛ рд╕реБрдмрд╣ 07:24 рдмрдЬреЗ рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлреЗрдбреЛрд░рд╛ рдПрдХрдорд╛рддреНрд░ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╣реИ
рдбрд┐рд╕реНрдЯреНрд░реЛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ~/.local/bin рд╕реЗ $PATH рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рдФрд░ рдпрд╣ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП
рдкрд╣рд▓реЗ /usr/bin рдФрд░ /usr/local/bin рдЬреИрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдЖрддрд╛ рд╣реИ
рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ)ред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдЕрдкрдиреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
рд╕рд┐рд╕реНрдЯрдо рддрд╛рдХрд┐ ~/.local/bin рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ $PATH рдкрд░ рд╣реЛред

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдлреИрд╕рд▓рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред (рдпрд╛ рдмрд▓реНрдХрд┐, рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо
рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред)

(рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд░рд╣ рд╣реА /usr/bin рдФрд░ /usr/local/bin рд╕реЗ рдкрд╣рд▓реЗ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдЖрддреЗ рд╣реИрдВ)

рд╣рдореНрдо, @ncoghlan рдиреЗ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд╣рд╛, рдХрд┐ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдореЗрдВ
рд╕рдВрджрд░реНрдн) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдХреЗ рдмрд╛рдж _ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреМрди рдХреМрди рд╕реЗ
рдореИрдВ рддрдм рддрдХ рд╕рд╣рдордд рд╣реВрдВ рдЬрдм рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╣реИ
рд╕рдВрд╕реНрдХрд░рдг, рдореИрдВ рдХрдо рдЪрд┐рдВрддрд┐рдд рд╣реВрдБред рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рддрдереНрдп рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐
рд╡рд┐рдВрдбреЛрдЬ рдпреВрдЬрд░реНрд╕ рдХреЛ рдХрднреА рднреА рдЕрдирд╡рд░реНрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдХреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝реА
pip2/pip3 рдЬреИрд╕реЗ рд░рд╛рдХреНрд╖рд╕, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпреВрдирд┐рдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рд╣реИ ;-)

рдУрд╣, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓реЙрдмрд░рд┐рдВрдЧ рдЪреАрдЬрд╝ рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ --user рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ --global рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдорд╛рдзреНрдпрдорд┐рдХ рдЪрд┐рдВрддрд╛/рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддреЛ рд╡рд░реНрддрдорд╛рди рд╡рд┐рдЪрд╛рд░:

  • рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдкрд░ рд╕рд╣рдорддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
  • рд╣рдо --global рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
  • рдпрджрд┐ рд╣рдо --user рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ ~/.local/bin $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдЪрд╛рд╣рддреЗ рд╣реИрдВред
  • рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ default-install рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдлрд╝реЙрд▓рдмреИрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдХреЗрд╡рд▓ --global рдпрд╛ --user рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░ рджреЗрдЧрд╛ред
  • рдкрд╛рдЗрдк 6.0 рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ /etc/ рдореЗрдВ рд╕реНрдерд┐рдд рдорд╢реАрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпреЗ рдкрд╛рдЗрдерди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдкрд╛рдЗрдк рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдЕрд▓рдЧ рднреА рд╣реИ (рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓реЙрдмрд░рд┐рдВрдЧ рдЪреАрдЬрд╝ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рд╛рде рд╕реЗ рднреА рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдкреНрд░рдореБрдЦ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ: рджреАрд░реНрдШрд╛рд╡рдзрд┐ рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрдм рдХреЛрдИ sudo pip install foo рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ site-packages рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?

рдореИрдВ рдЬрд┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡реЗ рд╣реИрдВ:

  1. --global рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕рдмрд╕реЗ рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрдд рд╡рд┐рдХрд▓реНрдк рд╣реИ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ (рдЪреБрдкрдЪрд╛рдк) рд╡реИрд╢реНрд╡рд┐рдХ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЯреВрдЯреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
  2. рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ --user , рдпрд╣ рдЯреВрдЯреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд░рдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?) рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ /root/.local/ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реЗрдЧрд╛ред
  3. рдмрд╕ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ --user рдпрд╛ --global рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  4. рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрдиреЗрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрд╡рд┐рдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬреЛ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ /etc/ рдореЗрдВ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рддреАрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЦрд░рд╛рдм рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдореЗрд░реЗ рдкрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ" рдпрд╣ рдкрд░рд┐рджреГрд╢реНрдп рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХреЛрдИ рднреА рдкреВрд░реНрд╡ рдкрд╛рдпрдерди 3.5 рдкрд░ рд╣реИ, рдпрд╛ рдХреЛрдИ рднреА рдЬреЛ рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рднреА рдЬреЛ pyenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрд▓рдд рдХрд╛рдо рдХрд░рдирд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИред

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 1 рдФрд░ 2 рдХреЗ рдмреАрдЪ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реИ (рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ) sudo pip install --global foo ред рд╡рд┐рдВрдбреЛрдЬрд╝, рдХреЛрдВрдбрд╛, рдкрд╛рдпрдиреЗрд╡ рдЗрддреНрдпрд╛рджрд┐ рдкрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ "рд╣рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИ"ред * рдирд┐рдХреНрд╕ рдкрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдЙрддреНрддрд░ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡рд╣ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ" рдЦрд░рд╛рдм "рдЪреАрдЬреЛрдВ рд╕реЗ рджреВрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП"ред

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

рддреЛ рдореЗрд░рд╛ рдЕрджреНрдпрддрди рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реЛрдЧрд╛:

  • рдЬрдм --user рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред
  • рдЬрдм --global рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
  • рдЬрдм рди рддреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ:

    1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    2. рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдпрд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    3. default-install рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╡рд╣ рдореМрдЬреВрдж рд╣реИ рддреЛ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ --user рдпрд╛ -global рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

    4. рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рд╡реЗ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ --user рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

    5. рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЕрдиреНрдп рд╕рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП, рддреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

(рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рддрд░рд╣ рд╣реА /usr/bin рдФрд░ /usr/local/bin рд╕реЗ рдкрд╣рд▓реЗ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП
рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ рдЖрддреЗ рд╣реИрдВ)

рд╣рдореНрдо, @ncoghlan рдиреЗ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд╣рд╛, рдХрд┐ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░, рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдореЗрдВ
рд╕рдВрджрд░реНрдн) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдХреЗ рдмрд╛рдж _ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХреМрди рдХреМрди рд╕реЗ
рдореИрдВ рддрдм рддрдХ рд╕рд╣рдордд рд╣реВрдВ рдЬрдм рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╣реИ
рд╕рдВрд╕реНрдХрд░рдг, рдореИрдВ рдХрдо рдЪрд┐рдВрддрд┐рдд рд╣реВрдБред рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рддрдереНрдп рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐
рд╡рд┐рдВрдбреЛрдЬ рдпреВрдЬрд░реНрд╕ рдХреЛ рдХрднреА рднреА рдЕрдирд╡рд░реНрдЬрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдХреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝реА
pip2/pip3 рдЬреИрд╕реЗ рд░рд╛рдХреНрд╖рд╕, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпреВрдирд┐рдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рд╣реИ ;-)

рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рдЯрдХрд░рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рднреА рдирд╣реАрдВ рд░рд╣рд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ $PATH рдЪрд░ рдХреЗ рд▓рд┐рдП sys.path рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЧрд▓рдд рд╣реИред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ sys.path рдХрд╛ рдХреНрд░рдо рд╣реИ: stdlib > рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рд╕рдВрдХреБрд▓ > рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рд╕рдВрдХреБрд▓ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ some-script рдХрд╛ рдЖрджреЗрд╢ рд╡реИрд╢реНрд╡рд┐рдХ рдмрд┐рди рдбреАрдЖрдИрдЖрд░> рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд┐рди рдбреАрдЖрдИрдЖрд░ рдерд╛ рдЬрдмрдХрд┐ python -m some-script рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ> рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдерд╛ред

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

рдЕрдЪреНрдЫрд╛ рдмрд┐рдВрджреБ, рд╣рдореЗрдВ рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реЗрдВ) рдХрд┐ $PATH sys.path рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ, (рд╡рд┐рдВрдбреЛрдЬрд╝ рд╢рдмреНрджреЛрдВ рдореЗрдВ) C: PythonXY рд╕реЗ рдкрд╣рд▓реЗ %APPDATA%PythonXYScripts рд╕реЗ рдкрд╣рд▓реЗ C:PythonXYScriptsред рдореИрдВ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдХрд┐ рдкрд╛рдпрдерди-рджреЗрд╡ рдзрд╛рдЧреЗ рдкрд░ред

рдбреЛрдирд╛рд▓реНрдб рдХрд╛ рдирд╡реАрдирддрдо рдкреНрд░рд╕реНрддрд╛рд╡ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ (рдореЗрд░реЗ рдореВрд▓ рдПрдХ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЫреЛрдбрд╝реЗ рдЧрдП рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг :))ред рдореИрдВ "рддреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ ..." рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рднреА 100% рд╕рд╣рдордд рд╣реВрдВред

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

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

рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдкрд╛рдпрдерди рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдкрд░ рдкрд╛рде рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИ (рдФрд░ рд╢рд╛рдпрдж рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рдЬреЛ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддрд╛ рд╣реИ)ред рддреЛ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯрд╛рдЗрдк рдХрд░реЗрдВрдЧреЗ рд╡рд╣ рд╣реИ activate-py35 рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ PATH 3.5 рдХреЗ рд▓рд┐рдП рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдлрдЯрд╛ рд╣реБрдЖ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ vcvarsall.bat рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдпрд╣ рдЙрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдзрд╛рд░рдгрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдпрд╛ рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред

рдФрд░ рд╢рд╛рдпрдж рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рдЬреЛ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддрд╛ рд╣реИ

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

рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЗрди рд╕рдм рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рд╕рдХреЗрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рд▓реМрдЯрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ pip install foo рдЬреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ foo рддреБрд░рдВрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ foo рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рддред рдЕрдЧрд░ рд╣рдо --user рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдирдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рддрд┐рдЧрдорди рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП py.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реВрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЖрдЬ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ _does_ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ +1 рджреЗ рд╕рдХреВрдВ, рдореБрдЭреЗ рдЗрд╕рдХреЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛ред

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

рдУрд╣, рдпрдХред рдореИрдВ рд╡рд╣ рднреВрд▓ рдЧрдпрд╛ рдерд╛ред

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

... рдЬреЛ рд╣рдордореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднрдпрд╛рдирдХ рд╣реИ рдЬреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╢реЗрд▓ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ pip install foo рдЬреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ foo рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рддреБрд░рдВрдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ foo рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдирд╛ред рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдкреНрд░рддрд┐рдЧрдорди рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реА рдЗрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╕реЛрдЪ рд╕рдХреЗ :-)

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП py.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛

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

... рдЬреЛ рд╣рдордореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднрдпрд╛рдирдХ рд╣реИ рдЬреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдкреЙрд╡рд░рд╢реЗрд▓ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВред

рдореИрдВрдиреЗ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рдФрд░ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ activate-py35.bat рдФрд░ activate-py35.ps1 рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рд╕рдорд╛рди рджрд┐рдЦрддреА рд╣реИрдВ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИрдВ (рдпрд╛рдиреА, рд╣рд░ рдХрд┐рд╕реА рдХреЛ activate-py35 рд▓рд┐рдЦрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдкрде рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ)ред рдЕрднреА рднреА рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП py.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛

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

"рдХрд┐рд╕реА рддрд░рд╣" рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ py.exe рдЖрддрд╛ рд╣реИ - рд╕рдорд╛рди рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд▓реЙрдиреНрдЪрд░ рдХреЛ рдЕрдкрдирд╛ рдирд╛рдо рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ python.exe рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпрд╣ 'scripts\\{}{}.{}.exe'.format(argv[0], major_version, minor_version) ( argv[0] , рдЖрджрд┐ рдкрд░ рдЙрдкрдпреБрдХреНрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдЯреНрд░рд┐рдорд┐рдВрдЧ рдХреЗ рд╕рд╛рде) рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рдлрд┐рд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░реЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рд╡рд╛рд▓реЗ (рдЬреЛ рдЖрдЬ рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧрд╛) рд╕реЗ рдЕрд╕рдВрдХреНрд░рдорд┐рдд рд▓реЙрдиреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдПрдХ рдирдП рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп py.exe рд╣реЛрдЧреАред (рдпрд╣ pip-script.py рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдкреБрд░рд╛рдиреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдм рд╡реЗ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ ...)

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

рд╣рдо рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдПрдХ рд╕рдВрддреБрд▓рди рд╣реИ, рд╕рдВрдпреБрдХреНрдд .exe рдФрд░ .py рдлрд╝рд╛рдЗрд▓ рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдЪреНрдЫрд╛ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рдПрдХрд╡рдЪрди .exe рдлрд╝рд╛рдЗрд▓ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ pip install foo && foo рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХрд╣рд╛рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдЪреАрдЬрд╝ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдореЗрдВ .exe рдФрд░ .py рдХреЛ рдлрд┐рд░ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИ рдПрдХ рдЕрдЪреНрдЫреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдЯреНрд░реЗрдбрдСрдлрд╝ред

.exe / .py рдЕрд▓рдЧрд╛рд╡ рдХрдо рд╕реЗ рдХрдо рд╕рдорд╕реНрдпрд╛ рд╣реИ :)

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

рдХреНрдпрд╛ рдпреЗ activate-whatever рдлрд╛рдЗрд▓реЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реЛрдВрдЧреА? рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ $PATH рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдЕрд╕рд▓реА рдкрд╛рдпрдерди рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ?

рд╣рд╛рдБ, рдХрд╛рдлреА рд╣рдж рддрдХ рд╕рдорд╛рдиред рдкрд╛рдпрдерди-рджреЗрд╡ рдкрд░ рдореИрдВрдиреЗ рдЕрднреА рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ -x.y рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрдВрдЧреЗ, рдЗрд╕реЗ py.exe рдкрд░ рдкрд╛рд╕ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sysconfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдареАрдХред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд░рд╛рдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рдирд╣реАрдВ рд╣реВрдВред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднрдпрд╛рдирдХ рдирд╣реАрдВ рд▓рдЧрддрд╛ (рд╢рд╛рдпрдж?) рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдЧрднрдЧ рдЙрддрдирд╛ рд╣реА рд╣реИ рдЬрд┐рддрдирд╛ рдореЗрд░рд╛ рд╡рд┐рдВрдбреЛрдЬ рдЬреНрдЮрд╛рди рдореБрдЭреЗ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

10 рдлрд░рд╡рд░реА, 2015 рдХреЛ рд╕реБрдмрд╣ 08:02 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

рдУрд╣, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓реЙрдмрд░рд┐рдВрдЧ рдмрд╛рдд рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдирд╣реАрдВ рд╣реИ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ --user рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╣рд░ рдЬрдЧрд╣ рдореМрдЬреВрдж рд╣реИ рдпрд╣реА рд╕рдорд╕реНрдпрд╛
рд╡рд┐рдВрдбреЛрдЬ --global рдЗрдВрд╕реНрдЯрд╛рд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ
рдПрдХ рдорд╛рдзреНрдпрдорд┐рдХ рдЪрд┐рдВрддрд╛/рд╕рдорд╕реНрдпрд╛ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдорд╛рдирд╛ред

рд╣рдо --global рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

+1

рдпрджрд┐ рд╣рдо --user рдФрд░
~/.local/bin $PATH рдкрд░ рдирд╣реАрдВ рд╣реИред

+1, рд╢рд╛рдпрдж рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде?

рд╣рдо рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ default-install рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣реЛрдЧрд╛
рдлрд╝реЙрд▓рдмреИрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдФрд░ рдХреЗрд╡рд▓ рд╣рд╛рд░реНрдбрдХреЛрдб рдХреЛ --global рдпрд╛
--user ред

+1

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

рдореИрдВ рдПрдХ рдЦреЛрдЬ рдЖрджреЗрд╢ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдЬреИрд╕реЗ:

  • pipX.Y.conf
  • pipX.conf
  • рдкрд┐рдк.conf

рд░реВрдЯ рдкрд╣рд▓реЗ (?) /etc/xdg/pip рдлрд┐рд░ /etc, рдЬрд╣рд╛рдВ XY рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реИ
major.minor рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ред рдкрд╣рд▓рд╛ рдорд┐рд▓рд╛, рдЬреАрдд рдЧрдпрд╛ред

рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдкреНрд░рдореБрдЦ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ: рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╣рдо рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрдм
рдХреЛрдИ sudo pip install foo рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рд╣реИ
site-packages рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦреЗрдВ?

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ "рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ рдкрд░ рд╣рдо sudo pip install рд╕реЗ _ever_ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
/usr/lib, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ /usr/рд╕реНрдерд╛рдиреАрдп/lib. рдФрд░ рдордд рднреВрд▓реЛ, рдпрд╣ рдпрд╣рд╛рдБ рдбрд┐рд╕реНрдЯ-рдкреИрдХреЗрдЬ рд╣реИ
рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдирд╣реАрдВ (~/.рд▓реЛрдХрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреНрдпреЛрдВрдХрд┐ $reasons)ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рднреБрд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рднреА)ред
рдбреЛрдирд╛рд▓реНрдб рдЗрд╕рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдЗрдЯ-рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдФрд░ a
рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдбреЗрдмрд┐рдпрди рдкрд░, рд╕рд╛рдЗрдЯ-рд╕реНрдерд╛рдиреАрдп is
/usr/lib/pythonX.Y/dist-packages рдФрд░ рдХрд┐рд╕реА рднреА рдкрд╛рдЗрдк рдХрдорд╛рдВрдб рдХреЛ рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдЫреВрдирд╛ рдЪрд╛рд╣рд┐рдП,
рдЬрдмрдХрд┐ рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕реНрдерд╛рдиреАрдп /usr/local/lib/pythonX.Y/dist-packages рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╣реИ
рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред

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

  • Global_install_directory
  • Global_install_as_sudo (рд╕рд╣реА/рдЧрд▓рдд)
  1. --global рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╣ рд╕рдмрд╕реЗ рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрдд рд╡рд┐рдХрд▓реНрдк рд╣реИ
    рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╡реЗ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ
    рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ (рдЪреБрдкрдЪрд╛рдк) рд╡реИрд╢реНрд╡рд┐рдХ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░реЗрдЧрд╛, рдЬреЛ рдХрдИ рдкрд░ рд╣реИ
    рд╕рд┐рд╕реНрдЯрдо рдЯреВрдЯреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдбреЗрдмрд┐рдпрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред
рдбреЗрдмрд┐рдпрди рд╕реБрдкрд░рдпреВрдЬрд╝рд░ sudo pip install рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ
/usr/рд╕реНрдерд╛рдиреАрдп/lib/pythonX.Y/dist-packages. рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ "рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝"
рд╕рд┐рд╕реНрдЯрдо" рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдХреБрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ (рдЬреЛ рдЗрд╕рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ
/usr/lib/pythonX.Y/dist-packages), рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд, рдкреНрд░рд▓реЗрдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред

  1. рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ --user , рдпрд╣ рдЯреВрдЯреЗ рд╣реБрдП рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд░рдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?)
    рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХреЛрдИ рднреА рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдПрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдЧрд╛
    /root/.local/ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

рд╕рд╣рдордд, рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрдЧрд╛ред

  1. рдмрд╕ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ --user рдпрд╛ . рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
    --global рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗред

рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдКрдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрд╡рд┐рдЪ рджреЗрдЦреЗрдВред

  1. рдкрд╣рд▓реЗ рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрдиреЗрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдРрд╕рд╛ рд╕реНрд╡рд┐рдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬреЛ рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдХрд░ рд╕рдХреЗ
    /etc/ рдореЗрдВ рдЪрд╛рд▓реВ рдХрд░реЗрдВ рдЬреЛ рддреАрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред

рдЕрд░реЗ, рдХреНрдпрд╛ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ!

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

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЦрд░рд╛рдм рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ
рдЕрдиреБрдорддрд┐" рдкрд░рд┐рджреГрд╢реНрдп рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХреЛрдИ рднреА рдкреНрд░реА
Python 3.5, рдпрд╛ рдХреЛрдИ рднреА рдЬреЛ Conda рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХреЛрдИ рднреА рдЬреЛ pyenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг
рдЙрди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЧрд▓рдд рдХрд╛рдо рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ
рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдорд┐рддреНрд░ред

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

рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 1 рдФрд░ 2 рдХреЗ рдмреАрдЪ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЕрднреНрдпрд╛рд╕ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реИ
рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ (рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ) рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ sudo pip install --global foo ред

рдбреЗрдмрд┐рдпрди рдкрд░, рдпрд╣ рдПрдХ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдЬрдм рддрдХ рдпрд╣ /usr/local/lib рдкрд░ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ /usr/lib рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред

(рдпрд╣ рд╕рдм рдмрд╛рд╣рд░реА-рдП-рд╡реЗрдирд╡-рд╡реНрдпрд╡рд╣рд╛рд░ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред)

  • рдЬрдм --user рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред

+1

  • рдЬрдм --global рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
  • рдкреИрдХреЗрдЬред

рдЧреНрд▓реЛрдмрд▓ _рд╡реЗрдВрдбрд░_ рдкреИрдХреЗрдЬ == +1, рдЧреНрд▓реЛрдмрд▓ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ == -1ред

  • рдЬрдм рди рддреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ:

    1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдорд╛рдиреЛ

      --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

+1, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдПрдХ venv рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рд╣реИ
/lib/pythonX.Y/site-packages

  1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдорд╛рдиреЛ
    --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╣рдореНрдо, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

  1. default-install рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рд╡рд╣ рдореМрдЬреВрдж рд╣реИ рддреЛ --user рдпрд╛ . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
    -global рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред

+1

  1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡реИрд╢реНрд╡рд┐рдХ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ
    рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ, рдФрд░ рдпрджрд┐ рд╡реЗ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ --user рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

+1

  1. рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЕрдиреНрдп рд╕рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП, рддреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ --global
    рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рднреА рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

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

рдПрдХ рдЙрдЪрд┐рдд рд▓рдХреНрд╖реНрдп рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

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

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдкрд╛рдЗрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдбрд┐рдмрдВрдЯреВ рдкрд░ /usr/local/../dist-packages/ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдмреНрдпреВ рдиреЗ рдЙрд╕ рдЕрдВрддрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдЯреБрдЯрд┐рд▓реНрд╕ рдХреЛ рдкреИрдЪ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкрд╛рдЗрдк /usr/../dist-packages/ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░реЗрдЧрд╛, рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЭрдВрдбреЗ рдореЗрдВ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рд╡рд╣рд╛рдВ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░ рджреЗрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рдЗрдк рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕реЗ рдПрдХ рдЪреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИ sys.path рдкрд░)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбреЗрдмрд┐рдпрди рдиреЗ рдЙрд╕ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдЗрдк рдХреЛ рдкреИрдЪ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд░реНрдерди рдкрд╛рдЗрдерди рдЕрдкрд╕реНрдЯреНрд░реАрдо рдореЗрдВ "рд╡рд┐рдХреНрд░реЗрддрд╛ рд╕реНрдерд╛рдиреАрдп" рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред

рдпрджрд┐ рд╣рдо --user рдореЗрдВ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ ~/.local/bin $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ

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

рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕рд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

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

рдпрджрд┐ рд╣рдо --user рдФрд░
~/.local/bin $PATH рдкрд░ рдирд╣реАрдВ рд╣реИред

+1, рд╢рд╛рдпрдж рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде?

рд╣рдо рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд╛рдпрдерди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд▓реЛрдЧ рдЪреБрдк рд░рд╣ рд╕рдХреЗрдВ
рдпрд╣ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкрд╛рдпрдерди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдЪреБрдк рдХрд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдорд╣рд╕реВрд╕ рд╣реЛрддреА рд╣реИ
рд╕рдмред

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

рдореИрдВ рдПрдХ рдЦреЛрдЬ рдЖрджреЗрд╢ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдЬреИрд╕реЗ:

  • pipX.Y.conf
  • pipX.conf
  • рдкрд┐рдк.conf

рд░реВрдЯ рдкрд╣рд▓реЗ (?) /etc/xdg/pip рдлрд┐рд░ /etc, рдЬрд╣рд╛рдВ XY рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реИ
major.minor рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ред рдкрд╣рд▓рд╛ рдорд┐рд▓рд╛, рдЬреАрдд рдЧрдпрд╛ред

рдЗрд╕реЗ #2417 рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ
рд╡рд┐рдЪрд╛рд░ - рд╡рд┐рдорд░реНрд╢ред

рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдкреНрд░рдореБрдЦ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ: рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╣рдо рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрдм
рдХреЛрдИ sudo pip install foo рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рд╣реИ
site-packages рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦреЗрдВ?

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ "рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ рдкрд░ рд╣рдо sudo pip install рд╕реЗ _ever_ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
/usr/lib, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ /usr/рд╕реНрдерд╛рдиреАрдп/lib. рдФрд░ рдордд рднреВрд▓реЛ, рдпрд╣ рдпрд╣рд╛рдБ рдбрд┐рд╕реНрдЯ-рдкреИрдХреЗрдЬ рд╣реИ
рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдирд╣реАрдВ (~/.рд▓реЛрдХрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреНрдпреЛрдВрдХрд┐ $reasons)ред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ рдЬрд┐рд╕реЗ рдХрднреА-рдХрднреА рднреБрд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рднреА)ред
рдбреЛрдирд╛рд▓реНрдб рдЗрд╕рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рдЗрдЯ-рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ рдФрд░ a
рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдбреЗрдмрд┐рдпрди рдкрд░, рд╕рд╛рдЗрдЯ-рд╕реНрдерд╛рдиреАрдп is
/usr/lib/pythonX.Y/dist-packages рдФрд░ рдХрд┐рд╕реА рднреА рдкрд╛рдЗрдк рдХрдорд╛рдВрдб рдХреЛ рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдЫреВрдирд╛ рдЪрд╛рд╣рд┐рдП,
рдЬрдмрдХрд┐ рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕реНрдерд╛рдиреАрдп /usr/local/lib/pythonX.Y/dist-packages рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рд╣реИ
рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛
рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред

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

  • Global_install_directory
  • Global_install_as_sudo (рд╕рд╣реА/рдЧрд▓рдд)

рдкрд╛рдЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрдиреНрд╣реЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдЙрдЪреНрдЪ рд╕реНрддрд░ рдкрд░ рдпрд╣ рдХрд░рддрд╛ рд╣реИ
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ), рд╡реЗ distutils/sysconfig рд╕реЗ рдЖрддреА рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рдХреЛ рдХрднреА рднреА рд╡рд┐рдХреНрд░реЗрддрд╛-рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рддрдм рддрдХ рдирд╣реАрдВ рдЫреВрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ
рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЭрдВрдбрд╛ --vendor рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛
рдЙрдирдХреА рдирд┐рд░реНрдорд╛рдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд╛рдЗрдкред рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рдмрдВрдЯреВ рдХреЗ рдмрд╛рд╣рд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ
рдЕрднреА рдФрд░ рдЙрдирдХреЗ рдкреИрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕реБрдкрд░ рд╣реИ
рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рдЬрдм рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ
"рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ" рдореЗрд░рд╛ рдорддрд▓рдм рдбреЗрдмреНрдпреВрдмрдВрдЯреВ рдкрд░ /usr/local/.../dist-packages рдерд╛
рдФрд░ "рд╕рд╛рдЗрдЯ-рд╕реНрдерд╛рдиреАрдп" рдкреИрдХреЗрдЬ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдпрджрд┐ рдкрд╛рдпрдерди рдбреЗрдмреНрдпреВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рдЕрдкрд╕реНрдЯреНрд░реАрдоред

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

рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдбреЗрдмрд┐рдпрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред
рдбреЗрдмрд┐рдпрди рд╕реБрдкрд░рдпреВрдЬрд╝рд░ sudo pip install рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ
/usr/рд╕реНрдерд╛рдиреАрдп/lib/pythonX.Y/dist-packages. рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ "рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝"
рд╕рд┐рд╕реНрдЯрдо" рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдХреБрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ (рдЬреЛ рдЗрд╕рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВ
/usr/lib/pythonX.Y/dist-packages), рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд, рдкреНрд░рд▓реЗрдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рдБ, "рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝" рдмрд╣реБрдд рдХрдареЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬреНрдпрд╛рджрд╛рддрд░ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐
sudo pip install foo рдЕрдЧрд░ рд╕рд┐рд╕реНрдЯрдо foo рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЪреАрдЬреЗрдВ рддреЛрдбрд╝ рд╕рдХрддреА рд╣реИрдВ рдФрд░
рдЖрдк рдЪреАрдЬреЛрдВ рдХрд╛ рдЕрд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣реА рдорд╛рдорд▓рд╛ рдХрд╛рдпрдо рд╣реИ
рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ `/usr/рд╕реНрдерд╛рдиреАрдп`` рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред

  • рдЬрдм --global рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
  • рдкреИрдХреЗрдЬред

рдЧреНрд▓реЛрдмрд▓ _рд╡реЗрдВрдбрд░_ рдкреИрдХреЗрдЬ == +1, рдЧреНрд▓реЛрдмрд▓ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ == -1ред

рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рджреВрд╕рд░реА рддрд░рдл рд╕рд╣реА рд╣реИ?

  • рдЬрдм рди рддреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рдПрдХ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ:

    1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдорд╛рдиреЛ

      --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

+1, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдПрдХ venv рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рд╣реИ
/lib/pythonX.Y/site-packages

рд╣рд╛рдБ, рд╣рдо рдлрд┐рд░ рд╕реЗ рд╕рд┐рд░реНрдл рдкрд╛рдпрдерди рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╣рд╛рдБ рд╣реИ, рд╣рдо рдЗрд╕рдХреА рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рд╕реНрд╡рдпрдВ, рдЗрд╕рд▓рд┐рдП "рд╡рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╣рд╛рдБ рд╣реИ" рдПрдХ venv/virtualenv рдЪреАрдЬрд╝ рд╣реИред

  1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдорд╛рдиреЛ
    --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╣рдореНрдо, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

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

  1. рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЕрдиреНрдп рд╕рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ --global
    рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рднреА рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдмрд▓рддрд╛ рд╣реИ:

рдЕрдЧрд░ рд╣рдореЗрдВ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ --user рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ --user рдЭрдВрдбрд╛, рдпрд╛
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЗрд╕
рд╡рд╣ рд╣реИ рдЬреЛ sudo pip install foo рдХреЛ рдмрд┐рдирд╛ --global рдзреНрд╡рдЬ рдХреЗ рд░рдЦреЗрдЧрд╛
рдХрд╛рдо рдХрд░ рд░рд╣реЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдпрд╣ рди рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рдпрдо рд╣реИ
рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sudo pip install foo рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо --user рдореЗрдВ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ ~/.local/bin $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ

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

рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕рд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рд╡реИрд╕реЗ рднреА рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

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

рд╡реИрд╕реЗ рд╣рдо рдЗрд╕реЗ (рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╕рдорддреБрд▓реНрдп) рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

def user_bin_on_path():
    paths = os.environ.get("PATH").split(":")
    for path in paths:
        if os.path.realpath(path) == os.path.realpath(USER_BIN_DIR):
            return True
    return False

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

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

рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреЛрдИ pip install [--user] foo рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░реЗ рдЬрд╣рд╛рдВ --user рдирд┐рд╣рд┐рдд рд╣реИ, рдФрд░ рдлрд┐рд░ foo рдХрд░реЗрдВ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ "рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓рд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЙрдиреНрд╣реЗрдВ рдмрддрд╛рдПрдЧреА рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╛рде рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреАрдЖрдИрдЖрд░ рдХреЛ рдЕрдкрдиреЗ рдкреИрде рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ) рдЬреЛ рд╕реНрдЯреАрд╡ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд activate рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрднреА рднреА рдорддрд▓рдм рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореВрд▓реНрдпреЛрдВ рдкрд░ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЕрднреА рднреА рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХреЗ рдХреНрдпреЛрдВрдХрд┐ рдкрд╛рде рдФрд░ sys.path рдХреЗ рдХреНрд░рдо рдХреЛ рдЕрднреА рднреА рдЙрд▓рдЯ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рджреЛрд╣ред рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рдХрд┐ realpath рдиреЗ рдкрде рдХреЛ рд╡рд┐рд╣рд┐рдд рдХрд┐рдпрд╛ред рд╣рд╛рдБ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

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

10 рдлрд░рд╡рд░реА, 2015 рдХреЛ рджреЛрдкрд╣рд░ 12:14 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреЛрдИ pip install [--user] foo рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░реЗ рдЬрд╣рд╛рдВ --user рдирд┐рд╣рд┐рдд рд╣реИ, рдФрд░ рдлрд┐рд░ foo рдХрд░реЗрдВ рдФрд░
рдмрд┐рдирд╛ рдХрд┐рд╕реА рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ "рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓рд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдорд┐рд▓рд╛ред

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

% рдЗрдВрдХрд╕реНрдХреЗрдк
рдкреНрд░реЛрдЧреНрд░рд╛рдо 'рдЗрдВрдХрд╕реНрдХреЗрдк' рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sudo apt-inkscape рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХреЗрдВред

10 рдлрд░рд╡рд░реА, 2015 рдХреЛ рджреЛрдкрд╣рд░ 12:06 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

  • рдЬрдм --global рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ
  • рдкреИрдХреЗрдЬред

рдЧреНрд▓реЛрдмрд▓ _рд╡реЗрдВрдбрд░_ рдкреИрдХреЗрдЬ == +1, рдЧреНрд▓реЛрдмрд▓ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ == -1ред

рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рджреВрд╕рд░реА рддрд░рдл рд╕рд╣реА рд╣реИ?

рдореИрдВ рдЕрдкрдиреА рд╢рдмреНрджрд╛рд╡рд▓реА рдорд┐рд╢реНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛:

/usr/рд╕реНрдерд╛рдиреАрдп/lib/pythonX.Y/dist-packages == +1
/usr/lib/pythonX.Y/dist-packages == -1

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

  1. рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдЕрдХреНрд╖рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдорд╛рдиреЛ
    --global рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╣рдореНрдо, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред

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

рдУрд╣, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдм рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдпрд╣ рд╕рд╛рд░реНрдердХ рдмрд╛рдд рд╣реИред рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣
рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ I
рдХрд╣реЛ, рдореБрдЭреЗ --рдбреНрд░рд╛рдИ-рд░рди рдлреНрд▓реИрдЧ рд╕реЗ рдЦреБрд╢реА рд╣реЛрдЧреА рддрд╛рдХрд┐ рдкрд╛рдЗрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ _tell_ рдХрд░ рд╕рдХреЗ
рдЖрдк рдпрд╣ рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

  1. рдЕрдВрдд рдореЗрдВ, рдпрджрд┐ рдЕрдиреНрдп рд╕рднреА рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВ рдЬреИрд╕реЗ рдХрд┐ --global
    рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рднреА рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдмрд▓рддрд╛ рд╣реИ:

рдЕрдЧрд░ рд╣рдореЗрдВ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ --user рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ --user рдЭрдВрдбрд╛, рдпрд╛
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЗрд╕
рд╡рд╣ рд╣реИ рдЬреЛ sudo pip install foo рдХреЛ рдмрд┐рдирд╛ --global рдзреНрд╡рдЬ рдХреЗ рд░рдЦреЗрдЧрд╛
рдХрд╛рдо рдХрд░ рд░рд╣реЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдпрд╣ рди рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рдпрдо рд╣реИ
рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП sudo pip install foo рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред

рд╕рдордЭрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ-рд╡рд┐рд░реЛрдзреА рдорд╛рдорд▓реЗ рд╕реЗ рд╣рдо рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

normal_user$ рдкрд╛рдЗрдк рдлреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЕрд░реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ
normal_user$ sudo pip install foo
рдЕрд░реЗ рдЖрдкрдиреЗ рдЕрднреА-рдЕрднреА рдЕрдкрдирд╛ рд╕рд┐рд╕реНрдЯрдо рдмреЛрд░ рдХрд┐рдпрд╛ рд╣реИ

рдФрд░ "рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ --user" рдирд┐рдпрдо
рдЗрд╕рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИред

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

10 рдлрд░рд╡рд░реА 2015 рдХреЛ рд╢рд╛рдо 4:05 рдмрдЬреЗ рдмреИрд░реА рд╡рд╛рд░рд╕реЙ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

10 рдлрд░рд╡рд░реА, 2015 рдХреЛ рджреЛрдкрд╣рд░ 12:14 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдХреЛрдИ pip install [--user] foo рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░реЗ рдЬрд╣рд╛рдВ --user рдирд┐рд╣рд┐рдд рд╣реИ, рдФрд░ рдлрд┐рд░ foo рдХрд░реЗрдВ рдФрд░
рдмрд┐рдирд╛ рдХрд┐рд╕реА рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреЗ "рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓рд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдорд┐рд▓рд╛ред

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

% рдЗрдВрдХрд╕реНрдХреЗрдк
рдкреНрд░реЛрдЧреНрд░рд╛рдо 'рдЗрдВрдХрд╕реНрдХреЗрдк' рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
sudo apt-inkscape рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХреЗрдВред

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

10 рдлрд░рд╡рд░реА, 2015 рдХреЛ рджреЛрдкрд╣рд░ 01:17 рдмрдЬреЗ, рдбреЛрдирд╛рд▓реНрдб рд╕реНрдЯрдл рдиреЗ рд▓рд┐рдЦрд╛:

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

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдПрдбреНрдпреВрд╕рд░ рдпрд╛ рдкрд╛рд╕рд╡рд╛рд░реНрдб рдкреИрдХреЗрдЬ? рдкреВрд░реНрд╡ рдорд╛рд▓рд┐рдХ
/usr/sbin/adduser рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ /usr/bin/useradd рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИред

рдкрд╣рд▓рд╛ рдкрд╛рд╕: https://github.com/pypa/pip/pull/2418

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ...

  • ~/.local/bin рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдХреБрдЫ рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ /etc/profiled.d/ рдХрд╛ рдЙрдкрдпреЛрдЧ $PATH рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдХрдо рд╕реЗ рдХрдо рдРрдВрдЯрд░рдЧреЛрд╕ рдкрд░ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрддрд╛ рд╣реВрдВ (рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдХрд┐ рдпреЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ) jre.csh, jre.sh, perlbin.csh, perlbin.shред

# Do not change this unless you want to completely by-pass Arch Linux' way
# of handling Java versions and vendors. Instead, please use script `archlinux-java`
setenv PATH "${PATH}:/usr/lib/jvm/default/bin"
# Do not change this unless you want to completely by-pass Arch Linux' way
# of handling Java versions and vendors. Instead, please use script `archlinux-java`
export PATH=${PATH}:/usr/lib/jvm/default/bin
# Set path to perl scriptdirs if they exist
# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
# Added /usr/bin/*_perl dirs for scripts
# Remove /usr/lib/perl5/*_perl/bin in next release

[ -d /usr/bin/site_perl ] && setenv PATH ${PATH}:/usr/bin/site_perl
[ -d /usr/lib/perl5/site_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/site_perl/bin

[ -d /usr/bin/vendor_perl ] && setenv PATH ${PATH}:/usr/bin/vendor_perl
[ -d /usr/lib/perl5/vendor_perl/bin ] && setenv PATH ${PATH}:/usr/lib/perl5/vendor_perl/bin

[ -d /usr/bin/core_perl ] && setenv PATH ${PATH}:/usr/bin/core_perl

# If you have modules in non-standard directories you can add them here.
#export PERLLIB=dir1:dir2
# Set path to perl scriptdirs if they exist
# https://wiki.archlinux.org/index.php/Perl_Policy#Binaries_and_Scripts
# Added /usr/bin/*_perl dirs for scripts
# Remove /usr/lib/perl5/*_perl/bin in next release

[ -d /usr/bin/site_perl ] && PATH=$PATH:/usr/bin/site_perl
[ -d /usr/lib/perl5/site_perl/bin ] && PATH=$PATH:/usr/lib/perl5/site_perl/bin

[ -d /usr/bin/vendor_perl ] && PATH=$PATH:/usr/bin/vendor_perl
[ -d /usr/lib/perl5/vendor_perl/bin ] && PATH=$PATH:/usr/lib/perl5/vendor_perl/bin

[ -d /usr/bin/core_perl ] && PATH=$PATH:/usr/bin/core_perl

export PATH

# If you have modules in non-standard directories you can add them here.
#export PERLLIB=dir1:dir2

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

рдПрдХ рддрд░рдл, рдореИрдВ рд╣реЛрдордмреНрд░реВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрдереНрдп рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ brew install something рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

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

OS X рдкрд░ Homebrew рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╢рд╛рдпрдж рдЖрдк Homebrew рдФрд░ pip install --user рдХреА рдЗрд╕ рдХрдерд┐рдд рдЕрд╕рдВрдЧрддрд┐ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡реИрд╕реЗ рднреА, --user рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмрдирд╛рдиреЗ рдкрд░ рдореБрдЭрд╕реЗ +1ред

рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдиреБрд╡рд░реНрддреАред рдбрд┐рдбрд┐рдПрд░ рдиреЗ рдЙрдмрдВрдЯреВ рдХреЗ рдкрд╛рдЗрдк рдореЗрдВ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЛ рд╡рд┐рд╢рдж рд░реВрдк рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ --user рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рднреА рджреА рдереА, рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рддреА рдереА рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реВрдВ (рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдПрд╕рдЖрд░рдпреВ рдЬреНрд╡рд▓рдВрдд рдХреЗ рд▓рд┐рдП рдПрдХ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред рд╡рд┐рд╡рд░рдг рдФрд░ рдФрдЪрд┐рддреНрдп рдХреЗ рд▓рд┐рдП https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1460203 рджреЗрдЦреЗрдВред

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

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

рдореИрдВрдиреЗ @warsaw рдХреЛ рдирд┐рдЬреА рддреМрд░ рдкрд░ рдмрддрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рднреА рдХрд╣реВрдВрдЧрд╛:

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

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

рд╢рд╛рдпрдж рдЗрд╕ рдореЛрдбрд╝ рдкрд░ рджреЛрд╣рд░рд╛рдиреЗ рд▓рд╛рдпрдХ:

рдпрджрд┐ рд╣рдо '--рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рдХреЗ рд╡рд┐рд░реБрджреНрдз рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХрдо рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

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

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

рдмрд╕ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ +1 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдк рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛! рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкрд╛рдпрдерди рд╕рдорд░ рд╕реНрдХреВрд▓ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ sudo pip install рд╣реИ рдЬрдм рд╡реЗ рдЕрдиреБрдорддрд┐ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рднрд╛рдЧ рдЧрдП рдереЗред

FWIW рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ --user , рдпрд╛ --user рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВ рдпрджрд┐ рдЕрдиреБрдорддрд┐ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЗрдВрд╕реНрдЯреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЕрд╕рдлрд▓ рд╣реЛрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдмрддрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬреЛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕реЗ рдЙрд▓рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, We installed to your user directory. If you don't want this, then 'pip uninstall my_package' )ред

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

рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ _after_ dist-packages рд░рдЦрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рд╕реНрдерд╛рдкрдирд╛ рдЖрдИрдПрдордУ рд╣реИред

рдареАрдХ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕рд╛рдЗрдЯ (/ рдбрд┐рд╕реНрдЯ) -рдкреИрдХреЗрдЬ рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ -I (рдпрд╛ -рдИрдПрд╕ рдкрд╛рдпрдерди 2 рдореЗрдВ) рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдБ рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ :)ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕реА рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рдорд┐рд▓реА рд╣реИрдВ рдЬрд╣рд╛рдВ рдЪреАрдЬреЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рдЬрдЧрд╣ рд╕реЗ рдЖ рд░рд╣реА рд╣реИрдВред

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

>>> import setuptools
>>> setuptools.__path__
['/home/robertc/.local/lib/python2.7/site-packages/setuptools']
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/robertc/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/home/robertc/work/mock']

рддреЛ рдпрд╣ рд╕рдордЭрджрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рднреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╡рд┐рд╢рдж рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЗрд╕рд▓рд┐рдП IDKред рдореИрдВ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдкреБрдирд░реБрддреНрдкрд╛рджрдХ рдЦреЛрдж рд╕рдХрддрд╛ рд╣реВрдВ (рдЙрдмрдВрдЯреВ рдмреАрдЯреАрдПрд╕ рдореЗрдВ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)

рдкреЗрдЬрд┐рдВрдЧ @warsaw

рдЙрдкрдпреЛрдХреНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬреЛрдВ рдХреЛ setuptools рдХреА рдмреБрд░рд╛рдИ .pth рдлрд╝рд╛рдЗрд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рдж рдкреБрдирд░реНрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░реНрддреА рд╕рдорд╕реНрдпрд╛ рдереА рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рд╕реАрдзреЗ setup.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рд╕реАрдЦрд╛ - рдореИрдВрдиреЗ рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдЕрдЪрд╛рдирдХ рдореИрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрди-рдореИрдВрдЧрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдХреНрд░рд╛рдордХ рдЯреВрд▓ рд▓рд┐рдЦрд╛ред

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

рдЬрдм рддрдХ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ --user рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рддрдм рддрдХ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ "рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди" рд╣реИред

рдпрджрд┐ рдЙрдкрдпреЛрдХреНрддрд╛ рдореЛрдб /etc/pip.conf рдореЗрдВ рд╕реЗрдЯ рд╣реИ рддреЛ рдПрдХ --global, --system, рдпрд╛ --no-user рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ "рддреНрд╡рд░рд┐рдд рд╕рдорд╛рдзрд╛рди" рд╣реИ

рджреЗрд░ рд╕реЗ рдЕрдкрдбреЗрдЯ: #4233 рдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ред

рдЬреЛ рд▓реЛрдЧ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╡рд╛рдЧрдВрддреБрдХ) рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ https://github.com/pyenv/pyenv рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рд╡реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдкреАрдИрдкреА 370 рдЖрдЬ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ ~/.local XDG_DATA_HOME рд╣реИред

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

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

--user рдбрд┐рдлрд╝реЙрд▓реНрдЯ pip рд╕реНрддрд░ рдкрд░ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдкрд╛рдпрдерди рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП conda рдФрд░ pyenv рдЬреИрд╕реЗ рддреГрддреАрдп рдкрдХреНрд╖ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреНрд░рдмрдВрдзрдХреЛрдВ рдкрд░ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкреНрд░рднрд╛рд╡ pip рдФрд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрдВрдЧреЗ (рдпрд╛рдиреА рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ virtualenv рдЗрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ venv рдХрд░рддрд╛ рд╣реИ)ред

рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡: https://github.com/pypa/pip/issues/1056#issuecomment -218130183ред

~рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реАрдзреЗ ~/.local рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рд╢рд╛рдпрдж рдПрдХ env рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ? рдореИрдВ рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ ~/.local/pip рдпрд╛ рдХреБрдЫ рдФрд░ рдореЗрдВ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореЗрд░рд╛ рд╕рдВрдмрдВрдз рд╣реИ рдкрд╛рдЗрдерди рдХреЛ рдЙрд╕ рд╕рд╛рдЭрд╛ рд╕реНрдерд╛рди рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИред ~ 9.0.1 рдкрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ ~/.local/lib/python<version> рдХреЗ рддрд╣рдд рд╕рд╛рдорд╛рди рдХреЛ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ ~/.local/bin рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдареАрдХ рд╣реИ ...

@jcrben рдР, рд▓рдХреНрд╖реНрдп рд╕реНрдерд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рдпрдерди рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдирд╛рдордХрд░рдг рдпреЛрдЬрдирд╛ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддреА рд╣реИ: https://docs.python.org/3/library/site.html#site.USER_SITE

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА PYTHONUSERBASE рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реНрддрд░ рдкрд░ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ: https://docs.python.org/3/using/cmdline.html#envvar -PYTHONUSERBASE

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрднреА рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ https://github.com/ofek/hatch рдЬрд┐рд╕рдореЗрдВ рдкреИрдХреЗрдЬ рдХрдорд╛рдВрдб рд╣реИ install , uninstall , рдФрд░ update рдЬреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ https://github.com/npm/npm рдХреЗ рд╕рдорд╛рди -g/--global рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

PyPI рдкрд░ рдореИрд▓рд╡реЗрдпрд░ рд╕рдВрдХреНрд░рдорд┐рдд рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╣рд╛рд▓ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рдЗрдк рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рд╣рд┐рдд рдореЗрдВ рд╣реИ рдХрд┐ рд╡рд╣ sudo pip install ... рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрдирд╛ рдкрд░ рдордирдорд╛рдирд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреНрд░рдорд┐рдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдХрд╛рдлреА рдЦрд░рд╛рдм рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдореЗрдВ рдЪреВрдХ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдо рд▓реЛрдЧ sudo рдХреЛ рдЕрдкрдиреЗ pip рдХрдорд╛рдВрдб рд╕реЗ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЧрд▓рддреА рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореИрд▓рд╡реЗрдпрд░ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдареЛрд╕ рдЕрдЧрд▓реЗ рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ --global рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдирд┐рдХрд╛рд▓рд╛: https://github.com/pypa/pip/issues/4865

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

cc @msarahan @kalefranz

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рдЬрдм рдПрдХ рд╕рдХреНрд░рд┐рдп рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ - рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╕рдХреНрд░рд┐рдп рд╡рд╛рддрд╛рд╡рд░рдг рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рднреА рд▓рдХреНрд╖реНрдп рдкрд░рд┐рднрд╛рд╖рд╛ рд╡рд┐рдХрд▓реНрдк ( --prefix , --root , рдЖрджрд┐) рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ред

рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рд╣рдо рдХреЛрдВрдбрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ~/.local рдкрд░ sys.path рдкрд░ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдВрдбрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЛрдИ рднреА рдЕрдЬрдЧрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдореВрд╣ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред https://github.com/conda/conda/issues/7173 рдкрд░ рдЪрд░реНрдЪрд╛

рдХреНрдпрд╛ рдкрд╛рдЗрдк PIP_ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛? рдХреНрдпрд╛ рдпрд╣ --user рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдирд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рд╡рд╣ PIP_USER рд╣реЛрдЧрд╛ред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝: https://pip.pypa.io/en/stable/user_guide/#environment -variables

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

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

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

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

рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИ рдФрд░ рдореБрдЭреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

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

рдкрд╛рдЗрдк рдХреЗрд╡рд▓ рддрднреА рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛред

рдЗрд╕ рдкрд░ рдХреЛрдИ рдЖрдВрджреЛрд▓рди?

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

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

--user рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореИрдВ pip --target рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдмрдЪрд╛ рдЬрд╛рдП?

@dmikov : рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИред рдЬрдм рддрдХ рдЖрдк рдбреЗрдмрд┐рдпрди/рдЙрдмрдВрдЯреВ рдЯреВрдЯреЗ рд╣реБрдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдк --user рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: PIP_USER=0 pip install -t ... ред рдпрд╛ рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдореИрдВрдиреЗ рд░рд╛рдд рдореЗрдВ рд╕рдкрдирд╛ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ --user рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рдордЬрд╛рдХ рдирд╣реАрдВ) рдмрди рд░рд╣рд╛ рд╣реИ, рдореЗрд░реЗ рд╕рдкрдиреЛрдВ рдХреЗ рдЬрд▓реНрдж рд╣реА рд╕рдЪ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛?

рдореБрдЭреЗ pygame рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдЕрдорд╛рдиреНрдп рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╣рддрд╛ рд░рд╣рддрд╛ рд╣реИ

рдореИрдВрдиреЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛
python3 -рдПрдо рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ -рдпреВ рдкрд╛рдпрдЧреЗрдо --рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
рдХреНрдпрд╛ рдпрд╣ рдЧрд▓рдд рд╣реИ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдБ?

@ рдлреНрд▓реЗрдордбреНрд░реЛ 56 : рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореБрджреНрджреЗ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдЦреЛрд▓реЗрдВ, рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ: рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг, рдкрд╛рдЗрдк рд╕рдВрд╕реНрдХрд░рдг, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ ...

рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд░реАрдХреИрдкреНрдЪрд╛

рдПрдХ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ = рд╕рд┐рд╕реНрдЯрдо, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ рдХрд┐ рдХреЛрдИ рднреА рдпрд╣ рдирд╣реАрдВ рд╕реЛрдЪреЗрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдЕрд░реНрде "рд╣рдореЗрд╢рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рднреА" рд╣реИред рдпрд╣ рдПрдХ рд╕реБрдВрджрд░ рдкреНрд░рд╡рд╛рд╕ рдкрде рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

#4575 рджреЗрдЦреЗрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдордВрдЬрд╝рд░реЛ --user рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд╕реЗ рдХреБрдЫ рдирдпрд╛ рд╣реИ?

@Tids : "рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо-2018.9-3 рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ $PATH рдореЗрдВ $HOME/.local/bin рдЬреЛрдбрд╝рддрд╛ рд╣реИред" рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдордВрдЬрд╝рд░реЛ рд╕рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рд╕реНрддрд░ рдкрд░ "$HOME/.local/bin рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ $PATH рдкрд░ рдирд╣реАрдВ рд╣реИ" рдХреЗ рд╕рд╛рде рдбреЗрдмрд┐рдпрди рдкрд╛рдпрдерди рд╕реНрддрд░ рдкрд░ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ --user" рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ, рдФрд░ рд╡рд╣ рдХреЙрдореНрдмреЛ рд╣реИ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИред

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

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

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдЧреИрд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ (рдкрд╛рдЗрдк рдХреЗ рд╣реА) рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдореБрджреНрджреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реИ - рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ #7209 рджреЗрдЦреЗрдВред

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

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ PATH (рдХрдорд╛рдВрдб рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рдФрд░ sys.path (рдкрд╛рдпрдерди рдЖрдпрд╛рдд рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП) рдХреА рд╡рд┐рдкрд░реАрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕реЗ рд▓реЙрдиреНрдЪрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреИрдХреЗрдЬ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ рдЕрдиреНрдпред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдХрд┐рд╕реА рднреА рдкреИрдХреЗрдЬ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдо рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реЛрдЪрдиреЗ рд▓рд╛рдпрдХ рд╣реИред

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

рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ pip рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛, рдпрд╛ рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдЪреАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рдЬреЛ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдж рдореЗрдВ -1 рд╣реВрдВ - рдХрдорд╛рдВрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реЛред

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

рдореЗрд░рд╛ рдорддрд▓рдм рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдерд╛ред рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реИ, рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВ рд╣реЛрдЧрд╛ (#3164 рдПрдХ рдирдпрд╛ pip-cli рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл рд░реИрдкрд░ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рдмрд┐рдВрджреБ python -m pip рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ рд╕рдорд░реНрдерд┐рдд рд╕рд╛рдзрди рд╣реЛрдирд╛ред

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди python (рдкрде рдореЗрдВ рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА python -m pip рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдкрд╛рдЗрдк рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рддреЛ рд╡рд╣ python рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ pip рдирд╣реАрдВ рд╣реИред python -m pip рдХреЛ рднреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рджреЗрдВ?

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

рдареАрдХ рд╣реИ, рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ #7002 рдХреЛ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ 6 рдореЗрдВ рд╕реЗ 3 рдкрд╛рдЗрдк рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

  • рдПрдХ рдмрд╛рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдСрдкреНрдЯ-рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдпрд╣ --no-user рд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рднрд┐рдиреНрди рд╣реЛрдЧрд╛? (рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдСрдкреНрдЯ-рдЖрдЙрдЯ рдХреЗ рд░реВрдк рдореЗрдВ --no-user рд╕реЗ --global рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ)ред
  • рд╣рдорд╛рд░реА "рд╕рдВрдХреНрд░рдордг" рд░рдгрдиреАрддрд┐ рдХреНрдпрд╛ рд╣реИ?

    • рд╣рдо рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдХреИрд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

    • рдпрд╣ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ?

    • рдЬрдм рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ + рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рдЙрдард╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ?

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ --global рдЧрд▓рдд рдирд╛рдо рд╣реИ рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рд╣реИрдВред flit install рдХреЗ рд▓рд┐рдП, --user рдХреЗ рд╡рд┐рдкрд░реАрдд --env рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдкрд░реНрдпрд╛рд╡рд░рдг" рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╢рд╛рдпрдж --no-user рдЕрднреА рднреА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ - рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ --user рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ --no-user (рдпрд╛ рд╕рдордХрдХреНрд╖ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐) рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ user = False рд╣реИред

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

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

рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧреИрд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рдкрд╛рдЗрдк рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИред

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

рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рдмрд╛рдж:

  1. рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ --no-user рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ #7002 рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдХреЛрдИ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрд╕реНрдЯреЙрд▓ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  2. рд╕рдмрд╕реЗ рдмрдбрд╝реА рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрдИ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рдордЭ рдФрд░ рд╢рд┐рдХреНрд╖рд╛ рд╕реЗ рд╣реА рдирд┐рдкрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рди рдХрд┐ рдкреАрдЖрдИрдкреА рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрд╛рдордХрд╛рдЬ рд╕реЗред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдореВрд▓ рдкрд╛рдпрдерди рдореБрджреНрджрд╛ рд╣реИред рд╣рдо рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pip check рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдХреЛрдИ рд╕рд╛рдЗрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдХреЗрдЬ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдХреЛ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ ...

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ --no-user рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ

рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ user=true рд╣реИ, рддреЛ --no-user рдХреЛ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдореБрдЭреЗ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдСрдкреНрдЯ-рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░" рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @pradyunsg рдХрд╛ рдорддрд▓рдм рд╣реИ, рдЬреЛ # 7002 рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬреЛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, "рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛" рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдЕрд╕рд▓ рдореЗрдВ, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд╣реИ ;-) рд╢рд╛рдпрдж рдореИрдВ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ "рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореМрдЬреВрдж рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рд╡рд┐рдХрд▓реНрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ" ...

рд╣рдореНрдо... @pfmoore #7002 рдХреЗ рдмрд╛рдж, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдкреАрдПрд╕: рдореИрдВрдиреЗ рдЬрд▓реНрджреА рдореЗрдВ рдЙрд╕ рдкрд╣рд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд▓рд┐рдЦрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдЧрд▓рддреА рд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЧреЛрд▓рд┐рдпрд╛рдВ рдареАрдХ рд╣реИрдВ; рдореИрдВ рдЕрднреА рднреА рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдорд╕реМрджрд╛ рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрдм рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реБрдИ рдХрд┐рд╕реА рднреА рднреНрд░рдо рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред

@pradyunsg рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдЕрдм рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ рдХрд┐ --user рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛ (рдорд╛рдорд▓реЛрдВ # 7002 рдкрддреЗ) рдореИрдВ рдпрд╣ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЕрдм рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ #7002 рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдЖрдкрдХреЗ 2 рдмреБрд▓реЗрдЯ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдЪреАрдЬреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реБрдП рд╣рдореЗрдВ #7002 рдХреЛ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЧрд┐рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдКрдкрд░ рджреА рдЧрдИ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЗрд╕реЗ рдХрд╡рд░ рдХрд░рддреА рд╣реИрдВред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ред
https://pip.pypa.io/hi/stable/news/#id3
"рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рдЬреИрд╕реЗ рдХрд┐ --user рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдЬрдм рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рд╕рдХреНрд╖рдо рд╣реИрдВред (#1668)"

рдореЗрд░реЗ рдирд┐рд░реНрдорд╛рдг рдЕрдм рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ

ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.

рдпрд╣ рдореЗрд░реЗ рдкрд╛рдЗрдк рдХрдорд╛рдВрдб рд╕реЗ --user рдХреЛ рд╣рдЯрд╛рдХрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдерд╛? рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рдЬреЛ рдЕрдм рдкрд╛рдЗрдк 20.0.1 рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (--user рдХреЛ рд╣рдЯрд╛рдХрд░ рд╣рд╛рд░реНрдб рдлреЗрд▓ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ)
https://github.com/lfit/releng-global-jjb/blob/master/shell/python-tools-install.sh

рдпрджрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдЗрдЯ рдкреИрдХреЗрдЬ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдСрд░реНрдереЛрдЧреЛрдирд▓ рд╣реИред рд╡рд╣ рдЪреЗрдХ рд╕рд╛рд▓реЛрдВ рдкрд╣рд▓реЗ (#567) рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ (#7155) рддрдХ рдЗрд╕реЗ venv рд╕реЗ рддреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯ рд╣реИ:

рд╡реЗрдирд╡ (рдкреАрдИрдкреА 405) рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рдЧрдП рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВред

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

python3 -m venv ~/.local

рдФрд░ рдлрд┐рд░ рдПрдХ ubuntu рд▓реЙрдЧрд┐рди рд╢реЗрд▓ рдореЗрдВ (#!/bin/bash -l) .local/bin рдкрде рдореЗрдВ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рд▓рд┐рдП python3 рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЕрдм .local/bin/python3 рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ) рдЬреЛ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдХрднреА рднреА python3 -m venv рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝реА ~/.local
рдпрд╛ рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рд▓реЙрдЧрд┐рди рд╢реЗрд▓ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рджреЛрдиреЛрдВ рдпрд╛ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рд╕реЗ рдпрд╣ рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

#fresh ubuntu docker
root<strong i="13">@7d8107816f64</strong>:/# python3 -m pip install  --user --upgrade pip
Successfully installed pip-20.0.1
root<strong i="14">@7d8107816f64</strong>:/# python3 -m pip --version
pip 20.0.1 from /root/.local/lib/python3.6/site-packages/pip (python 3.6)
root<strong i="15">@7d8107816f64</strong>:/# ls root/.local/bin/pip
pip     pip3    pip3.6
#Now we populate ~/.local/bin/
root<strong i="16">@7d8107816f64</strong>:/# python3 -m venv ~/.local
root<strong i="17">@7d8107816f64</strong>:/# ls root/.local/bin/
activate          activate.fish     easy_install-3.6  pip3              python
activate.csh      easy_install      pip               pip3.6            python3
root<strong i="18">@7d8107816f64</strong>:/# ./root/.local/bin/python --version
Python 3.6.9
root<strong i="19">@7d8107816f64</strong>:/# ./root/.local/bin/python -m pip install  --user --upgrade pip
ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv.

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдХрднреА рднреА рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯреЗрдмрд▓ .рд▓реЛрдХрд▓/рдмрд┐рди/рдкрд╛рдпрдерди рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рд╣рдо --user . рдХреЗ рд╕рд╛рде рдкрд╛рдЗрдк рдЗрдВрд╕реНрдЯрд╛рд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдУрд╣, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдЖрдк python3 -m venv ~/.local рдХрд░ рд░рд╣реЗ рдереЗред рдпрд╣ рдкрд╛рдЗрдк рдЬреИрд╕реЗ рдЯреВрд▓ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ ~/.local --user рдЗрдВрд╕реНрдЯреЙрд▓ (рд▓рд┐рдирдХреНрд╕ рдкрд░) рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ рд╣реИред venvs рдФрд░ --user рджреЛ _рднрд┐рдиреНрди_ рддрд░реАрдХреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдмрд┐рдирд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдкрдХреЛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред ~/.local рдореЗрдВ рдПрдХ рд╡реЗрдирд╡ рдмрдирд╛рдирд╛ рджреЛрдиреЛрдВ рдХреЗ рдХреБрдЫ рдЕрдЬреАрдм рд╕рдВрдХрд░ рдмрдирд╛рддрд╛ рд╣реИред

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

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

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

  • рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджрд┐ рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА pip install рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ --force-reinstall рдЬреЛрдбрд╝реЗрдВ
  • ~/.local/lib/python* рд╣рдЯрд╛рдПрдВ рдФрд░ global рдЕрдиреБрднрд╛рдЧ рдореЗрдВ user = no рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП ~/.pip/pip.conf рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
[global]
user = no
  • рдХреБрдЫ рдЕрдзрд┐рдХ рдХрдареЛрд░ рдХрд░реЗрдВ, рдЬреИрд╕реЗ ~/.local/lib рдХреЛ рдХрд┐рд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдмрдЬрд╛рдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓реЗрдВ :smirk:

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

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

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

рдпрджрд┐ рдЖрдк --system-site-packages рд╡рд┐рдХрд▓реНрдк (рдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХреЗ рдмрд╣реБрдд рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╣рд╛рдВ рд╡рд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдерд╛) рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рдУрд╡рд░рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдЕрдиреНрдпрдерд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реЛрддрд╛, рджреЛрдиреЛрдВ рд╕рд┐рд╕реНрдЯрдо-рд╡рд╛рдЗрдб рдФрд░ рдЖрдкрдХреЗ рдШрд░ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкреИрдХреЗрдЬ рджреГрд╢реНрдпрдорд╛рди рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрдХреЗрдЬ рди рд╣реЛрдВ, рддреЛ рдЖрдк -s рд╡рд┐рдХрд▓реНрдк рдпрд╛ PYTHONNOUSERSITE рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

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

https://github.com/pypa/pip/issues/1668#issuecomment -544569965 рдХреЗ рдЕрдиреБрд░реВрдк рд╕рдорд╛рдкрдиред

рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @takluyver! ^>^

@takluyver рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХрд┐рдпрд╛ рд╣реИ
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреАрдЖрдИрдкреА 20.0.2 рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд╛рдпрдерди 3.8.2 рдЕрднреА рднреА рдХрдард┐рди рдЕрд╕рдлрд▓ рд░рд╣рд╛ рд╣реИред

ERROR: Exception:
Traceback (most recent call last):
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\cli\base_command.py", line 186, in _main
    status = self.run(options, args)
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\commands\install.py", line 253, in run
    options.use_user_site = decide_user_install(
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\commands\install.py", line 604, in decide_user_install
    if site_packages_writable(root=root_path, isolated=isolated_mode):
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\commands\install.py", line 548, in site_packages_writable
    return all(
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\commands\install.py", line 549, in <genexpr>
    test_writable_dir(d) for d in set(get_lib_location_guesses(**kwargs))
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\utils\filesystem.py", line 140, in test_writable_dir
    return _test_writable_dir_win(path)
  File "c:\program files (x86)\python38-32\lib\site-packages\pip\_internal\utils\filesystem.py", line 153, in _test_writable_dir_win
    fd = os.open(file, os.O_RDWR | os.O_CREAT | os.O_EXCL)
PermissionError: [Errno 13] Permission denied: 'c:\\program files (x86)\\python38-32\\Lib\\site-packages\\accesstest_deleteme_fishfingers_custard_m59lch'

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ OSError рдХреЗ errno рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ $ errno.EACCES рд▓реЗрдХрд┐рди errno.EPERM ред

@catPill рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВ рддрд╛рдХрд┐ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд╣реИ рдХрд┐ рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдХреБрдЫ рдпрд╛рдж рдЖрдпрд╛ред

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

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

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

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

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

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

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