Pipenv: рдбреЛрдХрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди pipenv рджреНрд╡рд╛рд░рд╛ рдПрдХрд▓ рдЕрдЬрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

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

pipenv рд░рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛/somescript.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ pipenv рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ PATH рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛/somescript.py рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ

рдЕрдкрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
  1. рдУрдПрд╕ рдЯрд╛рдЗрдк рдЙрдмрдВрдЯреВ
  2. рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: $ python -V рдЕрдЬрдЧрд░ 3.6
  3. рдкрд┐рдкреЗрдирд╡ рд╕рдВрд╕реНрдХрд░рдг: $ pipenv --version рдорд╛рд╕реНрдЯрд░
рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдкрд┐рдкреЗрдирд╡ рдирд┐рд░реНрдорд┐рдд рд╡рд░реНрдЪреБрдЕрд▓рди рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реИ

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

рдЪрд░рдг реирем/реиреп : ls $PROJECT_PATH рдЪрд▓рд╛рдПрдВ | grep setup.py
---> 7811236ec5ee рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
setup.py
рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реИ 7811236ec5ee
---> ba280fab02c3
рдЪрд░рдг реирен/реиреп : рдкрд╛рдЗрдкреЗрдВрд╡ рдЪрд▓рд╛рдПрдБ $PROJECT_PATH/setup.py рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ
---> b48df28fbe12 рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ
рддреНрд░реБрдЯрд┐: /opt/project/setup.py рдЖрджреЗрд╢ рдкрде рдХреЗ рднреАрддрд░ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрд╛ред

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

рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ:
рд░рди рдПрд▓рдПрд╕ $PROJECT_PATH | grep setup.py
рд░рди рдкрд┐рдкреЗрдирд╡ рд░рди $PROJECT_PATH/setup.py рд╡рд┐рдХрд╕рд┐рдд

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

@jacekjab рдЖрдк рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рдкрд┐рдкреЗрдирд╡ рд╢реЗрд▓ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдк рд╢реЗрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред pipenv run рдкрде рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрдмреИрдВрдЧ рдХреЗ рд╕рд╛рде рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ pipenv run python somescript.py рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╢реЗрдмреИрдВрдЧ рдЬреЛрдбрд╝реЗрдВред

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

рдФрд░ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓рдирд╛:

ENV SHELL=/bin/bash
RUN pipenv shell -c "$PROJECT_PATH/setup.py develop; exit $?"

рдХрд╛ рдкрд░рд┐рдгрд╛рдо

Spawning environment shell (/bin/bash). Use 'exit' to leave.
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    load_entry_point('pipenv==9.0.3', 'console_scripts', 'pipenv')()
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 2204, in shell
    do_shell(three=three, python=python, fancy=fancy, shell_args=shell_args)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 2167, in do_shell
    c.interact(escape_character=None)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pexpect/pty_spawn.py", line 744, in interact
    mode = tty.tcgetattr(self.STDIN_FILENO)
termios.error: (25, 'Inappropriate ioctl for device')

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╢рд╛рдпрдж рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: pipenv run python -c "import this" (рдмрд╕ import this рдХреЛ рдЕрдкрдиреЗ рддрд░реНрдХ рд╕реЗ рдмрджрд▓реЗрдВ)ред

@jacekjab рдЖрдк рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рдкрд┐рдкреЗрдирд╡ рд╢реЗрд▓ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдк рд╢реЗрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред pipenv run рдкрде рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ/рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрдмреИрдВрдЧ рдХреЗ рд╕рд╛рде рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ pipenv run python somescript.py рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╢реЗрдмреИрдВрдЧ рдЬреЛрдбрд╝реЗрдВред

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

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

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

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

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

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

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