<p>рдкрд┐рдкреЗрдирд╡ рд╡рд░реНрддрдорд╛рди рд╕рдХреНрд░рд┐рдп рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдХрд╛ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдирдпрд╛ рдПрдирд╡реА рдмрдирд╛ рд░рд╣рд╛ рд╣реИ</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдирд╡ре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pipenv

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

рдореБрджреНрджрд╛:

pipenv install <package_name> рдПрдХ рдирдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ pipenv shell рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдХреНрд░рд┐рдп рд╣реЛред

рдпрд╣ рдХрдм рд╣реЛрддрд╛ рд╣реИ:

рдЕрдЧрд░ рд╣рдо рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ Pipfile рд╕реНрдерд┐рдд рд╣реИред

рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

  1. рдУрдПрд╕ рдкреНрд░рдХрд╛рд░: рд▓рд┐рдирдХреНрд╕ (рдЙрдмрдВрдЯреВ 16.04)
  2. рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: $ python -V == 3.6.3
  3. рдкрд┐рдкреЗрдирд╡ рд╕рдВрд╕реНрдХрд░рдг: $ pipenv --version == рд╕рдВрд╕реНрдХрд░рдг 8.3.1

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдпрджрд┐ рд╣рдо рдПрдХ рд╕рдХреНрд░рд┐рдп рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рд╢реЗрд▓ рдореЗрдВ рд╣реИрдВ, ( pwd рдмрд╛рд╡рдЬреВрдж) pipenv install рдХреЛ рдЗрд╕рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ Pipfile рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдирдпрд╛ Pipfile рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

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

рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

$ mkdir -p testproject/app
$ cd  testproject/app
$ pipenv install flask
$ pipenv shell # environment gets activated here
$ <my_new_environment>$  cd ..  # Now we are inside testproject
$ pipenv install requests
$ New Pipfile gets created here

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

@erinxocon рдФрд░ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд┐рдкреЗрдирд╡ рдХреЛ рдкрд╛рдЗрдк рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

@kennethreitz рдиреЗ рдЗрд╕реЗ рдЦреБрдж рдкрд┐рдкреЗрдирд╡ рд╣реЛрдордкреЗрдЬ рдкрд░ рдХрд╣рд╛:

рдЕрдм рдЖрдкрдХреЛ pip рдФрд░ virtualenv рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рд╕рд╛рде рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

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

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

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

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

рдирдорд╕реНрддреЗ @ansrivas! рдпрд╣ рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдЗрдЪреНрдЫрд┐рдд рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред рдкрд┐рдкреЗрдирд╡ рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдпрджрд┐ рд╡рд╣ рд╢реБрд░реВ рдореЗрдВ рдЦреБрдж рдХреЛ рдПрдХ рдореЗрдВ рдкрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреА рд╕рднреА рдХреЙрд▓реЛрдВ рдкрд░ рдирд╣реАрдВред рдЖрдкрдХреЗ рдкрд╛рд╕ virtualenvs рдХреЗ рдмрдЬрд╛рдп рдмрд╛рд▓реЛрдВ рд╡рд╛рд▓рд╛ рдШреЛрдВрд╕рд▓рд╛ рд╣реЛрдЧрд╛! рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд╣рд░ рд╣реИ, рддреЛ pipenv рдПрдХ рдирдпрд╛ pipfile рдмрдирд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрд╛рд╣рд░ рдХреБрдЫ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╣реЗрд▓ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдП рдЧрдП virutalenvironment рдХреЗ рдЕрдВрджрд░ рдЖрдк pipenv shell рдФрд░ рдлрд┐рд░ pip install requests ред рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореИрдиреЗрдЬрд░ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореИрдиреЗрдЬрд░ рд╣реИред

@erinxocon рдФрд░ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд┐рдкреЗрдирд╡ рдХреЛ рдкрд╛рдЗрдк рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

@kennethreitz рдиреЗ рдЗрд╕реЗ рдЦреБрдж рдкрд┐рдкреЗрдирд╡ рд╣реЛрдордкреЗрдЬ рдкрд░ рдХрд╣рд╛:

рдЕрдм рдЖрдкрдХреЛ pip рдФрд░ virtualenv рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рд╕рд╛рде рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

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

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

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

рдореИрдВ рдЗрд╕ рдкрд░ @ksze рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред

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

рдЗрд╕реА рддрд░рд╣ рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде ... рдореБрдЭреЗ рдмрд╛рд╣рд░реА рдкрд┐рдкрдлрд╛рдЗрд▓ рдпрд╛ рдкрд┐рдкреЗрдирд╡.рд▓реЙрдХ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -r рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреВрд╕рд░рд╛ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

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

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

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

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

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