Pipenv: Pipenv --system python рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдЕрдХреНрддреВре░ 2017  ┬╖  46рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pipenv

рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
  1. рдУрдПрд╕ рдЯрд╛рдЗрдк Docker Alpine Python -> https://github.com/docker-library/python/blob/1d59eb2dd813c64891bf554a8ea01754aba25816/3.6/alpine3.6/Dockerfile
  2. рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: Python 3.6.3
  3. рдкрд┐рдкреЗрдирд╡ рд╕рдВрд╕реНрдХрд░рдг: pipenv, version 8.3.1
рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдЕрдЧрд░ рдореИрдВ PIP_PYTHON_PATH рд╕реЗрдЯ рдпрд╣ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдФрд░ pipenv рджреНрд╡рд╛рд░рд╛ overrided рд╣реИ (рдореЗрд░реЗ рд╕рд╡рд╛рд▓ рдХреНрдпреЛрдВ, рдХреНрдпрд╛ рд╣реИ рдХрд┐ рдкреАрдЫреЗ рддрд░реНрдХ рд╣реИ?) рдХреНрдпреЛрдВрдХрд┐ https://github.com/kennethreitz/pipenv/blob/master/pipenv/utils.py#L367 рдпрд╣ рдЗрд╕ ENV рдЕрдзрд┐рднрд╛рд╡реА рд╣реИ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЬрдм рдореИрдВ рдзреНрд╡рдЬ --system рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрдХрдбрд╝ рд▓рд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рдбреЙрдХрд░ рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╕рдордп рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рдерд╛ pipenv install --system

рдореБрдЭреЗ рдпрд╣ рдХреНрдпреЛрдВ рдкрддрд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдФрд░ рдлрдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
```(рдкреАрдбреАрдмреА) python_path
'/ рдмрд┐рди/рдкрд╛рдпрдерди'
(рдкреАрдбреАрдмреА) рдЬреЛ ('рдЕрдЬрдЧрд░')
'/ рдмрд┐рди/рдкрд╛рдпрдерди'
(рдкреАрдбреАрдмреА) рдкреНрд░рд┐рдВрдЯ (sys.executable)
'/ usr/рд╕реНрдерд╛рдиреАрдп/рдмрд┐рди/рдЕрдЬрдЧрд░'

/ # /рдмрд┐рди/рдкрд╛рдпрдерди
рд╢:/рдмрд┐рди/рдкрд╛рдпрдерди: рдирд╣реАрдВ рдорд┐рд▓рд╛

I think issue is somewhere here: https://github.com/kennethreitz/pipenv/blob/1bf6f5101a3bf1dca78be814e742411cc5bdb2dd/pipenv/cli.py#L1440
        p = os.sep.join([location] + ['bin/{0}'.format(command)])

`` this should return /usr/local/bin/python but for some strange reason it's returning /bin/python`

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

pipenv install --system рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ рдХрд┐ /bin/python рдирд╣реАрдВ рдорд┐рд▓рд╛ред

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

рдЙрд╕ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдкрд░ pipenv install --system рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛

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

@kennethreitz рдореБрджреНрджрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рдЕрднреА рддрдХ рдареАрдХ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВред рдореБрджреНрджрд╛ рдЕрднреА рднреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

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

@galuszkak рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рддреЛ sys.executable pdb рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рддрдереНрдп рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ тАФsystem рдЬрдм рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ which() рдХреЙрд▓ рдХрд░рддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ virtualenv рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЖрд╣реНрд╡рд╛рди рд╣реИ рдЬрд┐рд╕реЗ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдЖрдиреЗ рдкрд░ рдареАрдХ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: https://github.com/kennethreitz/pipenv/blob/master/pipenv/utils.py#L406

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

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

FROM python:alpine3.6

# -- Install Pipenv:
RUN set -ex && pip install pipenv --upgrade

# -- Install Application into container:
RUN set -ex && mkdir /app

WORKDIR /app

# -- Adding Pipfiles
ONBUILD COPY Pipfile Pipfile
ONBUILD COPY Pipfile.lock Pipfile.lock

# -- Install dependencies:
ONBUILD RUN set -ex && pipenv install --deploy --system

@erinxocon рдореИрдВрдиреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ - рдзреНрд╡рдЬ рддреИрдирд╛рдд рдХрд░реЗрдВ + рдЖрдк $ PIP_PYTHON_PATH рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпрд╣рд╛рдВ рдореВрд▓ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдкрд┐рдкреЗрдирд╡ рджреНрд╡рд╛рд░рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@galuszkak рдХреНрд╖рдорд╛ рдпрд╛рдЪрдирд╛; рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдмрдЧ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдбреЛрдХрд░ рдЕрд▓реНрдкрд╛рдЗрди рдХреЗ рд╕рд╛рде рдФрд░ рднреА рдХреБрдЫ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП PIP_PYTHON_PATH рд╕реЗрдЯ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@erinxocon рдорд╛рдлреА рдорд╛рдВрдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ :), рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ред рдореИрдВ #1005 рдореЗрдВ рдЬреЛ рдлрд┐рдХреНрд╕ рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдЕрднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

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

рд╕рдордЭ рдЧрдпрд╛ @erinxocon ! рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

FROM python:3.6-alpine3.6

RUN set -ex && pip install pipenv --upgrade
RUN set -ex && mkdir /app
ENV PIP_PYTHON_PATH=/usr/local/bin/python
COPY Pipfile /app/Pipfile

WORKDIR /app

рдкрд┐рдкрдлрд╛рдЗрд▓:

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
flask = "*"
"flask-restful" = "*"

[dev-packages]
pytest = "*"
"pytest-flask" = "*"

[requires]
python_version = "3.6"
$ docker build . -t 'pipenv_issue:latest' --no-cache
$ docker run -it pipenv_issue:latest sh
/app # pipenv install --system
CRITICAL:pip.utils:Error [Errno 2] No such file or directory: '/bin/python': '/bin/python' while executing command python setup.py egg_info
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  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 1855, in install
    do_init(dev=dev, allow_global=system, ignore_pipfile=ignore_pipfile, system=system, skip_lock=skip_lock, verbose=verbose, concurrent=concurrent, deploy=deploy, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1320, in do_init
    do_lock(system=system, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1050, in do_lock
    pre=pre
  File "/usr/local/lib/python3.6/site-packages/pipenv/utils.py", line 459, in resolve_deps
    resolved_tree.update(resolver.resolve(max_rounds=PIPENV_MAX_ROUNDS))
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 200, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 296, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 153, in get_dependencies
    result = reqset._prepare_file(self.finder, ireq)
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 639, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 134, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_install.py", line 438, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/utils/__init__.py", line 667, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/local/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/bin/python': '/bin/python'

рдУрдирдмрд┐рд▓реНрдб рд░рди рдмрдирд╛рдо рдЬрд╕реНрдЯ рд░рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдбреЙрдХрд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдирдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИред

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

@erinxocon рд╕рдорд╕реНрдпрд╛ рдЪрд░ рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╣реИ (рдЬрд┐рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рдВрджреБ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╣реИ) - PIP_PYTHON_PATH рд╕реЗрдЯ рдХрд░рдХреЗ рдпрд╣ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ --system рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

def which(command, location=None, allow_global=False):
    if location is None:
        location = project.virtualenv_location

    if not allow_global:
        if os.name == 'nt':
            p = find_windows_executable(os.path.join(location, 'Scripts'), command)
        else:
            p = os.sep.join([location] + ['bin/{0}'.format(command)])
    else:
        if command == 'python':
            p = sys.executable

return p

рдЪреВрдВрдХрд┐ @galuszkak --system рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди allow_global рдХреЛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдкрд╛рд╕ рдХреА рдЧрдИ which рдХреА рдХреЙрдкреА рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ Project.virtualenv_location рднреА рдирд╣реАрдВ рд╣реИ --system рдзреНрд╡рдЬ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рдПрдХ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

  1. location рд╣реИ None
  2. Project.virtualenv_location рд╣реИ None ( location рдЕрднреА рднреА None )
  3. _not_ allow_global
  4. p = os.sep.join([None] + ['bin/{0}'.format(python)])

рдЗрд╕ рддрд░рд╣ рд╣рдо рдХрдорд╛рдВрдб рдкреНрд░рдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ /bin/python рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

@galuszkak рдХреНрд╖рдорд╛ рдпрд╛рдЪрдирд╛ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ

@techalchemy рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдХрд╛рдо рдореЗрдВ рдкреИрдЪ рд╣реИ, рдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП?

@erinxocon @galuszkak рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рдкреИрдЪ (#1005) рд▓рд┐рдЦрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @nateprewitt рдиреЗ рдХреБрдЫ рдЪрд┐рдВрддрд╛рдПрдВ рд╡реНрдпрдХреНрдд рдХреА рдереАрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдХрд╣рд╛рдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИ

@erinxocon рдлрд┐рд░ рд╕реЗ, рдорд╛рдлреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рд╣рдо рдлрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ # 1005 рдкрд░ рд╕рд╣рдордд/рдЕрд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЙрд╕ рдкреАрдЖрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

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

тЮЬ  saudi git:(dev) тЬЧ pipenv install -r requirements.txt
Warning: the environment variable LANG is not set!
We recommend setting this in ~/.profile (or equivalent) for proper expected behavior.
Creating a virtualenv for this projectтАж
таЛTraceback (most recent call last):
  File "/usr/local/bin/pew", line 7, in <module>
    from pew.pew import pew
  File "/usr/local/lib/python3.6/site-packages/pew/__init__.py", line 11, in <module>
    from . import pew
  File "/usr/local/lib/python3.6/site-packages/pew/pew.py", line 42, in <module>
    from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
  File "/usr/local/lib/python3.6/site-packages/pew/_utils.py", line 22, in <module>
    encoding = locale.getlocale()[1] or 'ascii'
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 581, in getlocale
    return _parse_localename(localename)
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 490, in _parse_localename
    raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8

Virtualenv location:
Requirements.txt found, instead of Pipfile! ConvertingтАж
Warning: Your Pipfile now contains pinned versions, if your requirements.txt did.
We recommend updating your Pipfile to specify the "*" version, instead.
Requirements file provided! Importing into PipfileтАж
Creating a virtualenv for this projectтАж
таЛTraceback (most recent call last):
  File "/usr/local/bin/pew", line 7, in <module>
    from pew.pew import pew
  File "/usr/local/lib/python3.6/site-packages/pew/__init__.py", line 11, in <module>
    from . import pew
  File "/usr/local/lib/python3.6/site-packages/pew/pew.py", line 42, in <module>
    from pew._utils import (check_call, invoke, expandpath, own, env_bin_dir,
  File "/usr/local/lib/python3.6/site-packages/pew/_utils.py", line 22, in <module>
    encoding = locale.getlocale()[1] or 'ascii'
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 581, in getlocale
    return _parse_localename(localename)
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/locale.py", line 490, in _parse_localename
    raise ValueError('unknown locale: %s' % localename)
ValueError: unknown locale: UTF-8

Virtualenv location:
Pipfile.lock not found, creatingтАж
Locking [dev-packages] dependenciesтАж
Locking [packages] dependenciesтАж
CRITICAL:pip.utils:Error [Errno 2] No such file or directory: '/bin/python': '/bin/python' while executing command python setup.py egg_info
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  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 1866, in install
    do_init(dev=dev, allow_global=system, ignore_pipfile=ignore_pipfile, system=system, skip_lock=skip_lock, verbose=verbose, concurrent=concurrent, deploy=deploy, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1330, in do_init
    do_lock(system=system, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1121, in do_lock
    pre=pre
  File "/usr/local/lib/python3.6/site-packages/pipenv/utils.py", line 461, in resolve_deps
    resolved_tree.update(resolver.resolve(max_rounds=PIPENV_MAX_ROUNDS))
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 200, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 274, in _iter_dependencies
    for dependency in self.repository.get_dependencies(ireq):
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 153, in get_dependencies
    result = reqset._prepare_file(self.finder, ireq)
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 523, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 134, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_install.py", line 438, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/utils/__init__.py", line 667, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/bin/python': '/bin/python'

рдореЗрд░рд╛ рдЦреЛрд▓ ZSH рдерд╛ред LC_ALL рдФрд░ LANG рдХреЛ .zshrc рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд╛рдЗрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рдЪреБрдирдиреЗ рдкрд░ LANG/LC_ALL рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдкреАрдЖрд░ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдЗрди рдСрдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдиреИрдЯ рдХреА рдЬрд░реВрд░рдд рдереА, рдореБрдЭреЗ рдЙрд╕реЗ рдкреАрдЖрд░ . рдореЗрдВ рдкрд┐рдВрдЧ рдХрд░рдиреЗ рджреЗрдВ

рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ system рдкрд╛рд╕ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ which рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП which ред

@kennethreitz рдореБрджреНрджрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рдЕрднреА рддрдХ рдареАрдХ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВред рдореБрджреНрджрд╛ рдЕрднреА рднреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

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

рдореИрдВ рдЕрд▓реНрдкрд╛рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╣реВрдБред рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди?

  • рдкрд╛рдпрдерди 3.6.2
  • рдкрд┐рдкреЗрдирд╡, рд╕рдВрд╕реНрдХрд░рдг 8.2.6
Step 7/7 : RUN pipenv install --dev --system --verbose
 ---> Running in a3097251c098
Pipfile.lock (1b4750) out of date, updating to (6a9e01)тАж
Locking [dev-packages] dependenciesтАж
Locking [packages] dependenciesтАж
CRITICAL:pip.utils:Error [Errno 2] No such file or directory: '/bin/python': '/bin/python' while executing command python setup.py egg_info
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  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 1866, in install
    do_init(dev=dev, allow_global=system, ignore_pipfile=ignore_pipfile, system=system, skip_lock=skip_lock, verbose=verbose, concurrent=concurrent, deploy=deploy, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1325, in do_init
    do_lock(system=system, pre=pre)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli.py", line 1121, in do_lock
    pre=pre
  File "/usr/local/lib/python3.6/site-packages/pipenv/utils.py", line 461, in resolve_deps
    resolved_tree.update(resolver.resolve(max_rounds=PIPENV_MAX_ROUNDS))
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 200, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/resolver.py", line 296, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 153, in get_dependencies
    result = reqset._prepare_file(self.finder, ireq)
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 639, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_set.py", line 134, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/req/req_install.py", line 438, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/local/lib/python3.6/site-packages/pipenv/patched/pip/utils/__init__.py", line 667, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/local/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.6/subprocess.py", line 1344, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/bin/python': '/bin/python'

рдЗрд╕реЗ #1097 рддрдХ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдФрд░ рдЬрдм рдЗрд╕реЗ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

@kennethreitz рдореБрджреНрджреЗ рдореЗрдВ 23 рджрд┐рди рдЕрдм 30 рджрд┐рди рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдиреЗ рдЗрд╕реЗ рдмрд╣реБрдд рдЬрд▓реНрджреА рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкрд╣рд▓реЗ рдПрдХ рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдкреАрдЖрд░ рд▓рдВрдмрд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЕрднреА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рдВрдмрд┐рдд рд╣реИ...

рдХреГрдкрдпрд╛ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

рдореИрдВ рдЗрд╕реЗ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ (9.0.1) рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВред

@jacebrowning рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд▓реЗрдХрд┐рди рдпрд╣ 9.0.1 рдореЗрдВ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, # 1005 9.0.1 рдЬрд╛рд░реА рд╣реЛрдиреЗ рддрдХ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЕрднреА рдХреЛрд╢рд┐рд╢ рдХреА, pip install git+git://github.com/pypa/pipenv.git@master рдФрд░ pipenv install --dev --system рдиреЗ рдореЗрд░реА python:3.6.3 рдбреЙрдХрд░ рдЫрд╡рд┐ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдХреНрдпрд╛ рдПрдХ рдФрд░ рд░рд┐рд▓реАрдЬ рд╣реЛ рд╕рдХрддреА рд╣реИ?

рдореИрдВ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмрдВрдж рд╣реИ, рдкреАрдЖрд░ # 1097 рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реЗрдВ

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

@LuRsT рдореИрдВ рд╕рд┐рд░реНрдл рдЧрд┐рдЯ рдкреНрд░рддрд┐рдмрджреНрдз рд╢рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

RUN set -ex && pip install git+git://github.com/pypa/pipenv.git<strong i="8">@8378a1b104f2d817790a05da370bef0a1b00f452</strong>

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдмрдврд╝рд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж @sbdchd!

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдореЗрдВ python:3.6.3 рдФрд░ ubuntu:17.10 рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдЙрд▓реНрд▓реЗрдЦрд┐рдд pipenv рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде, рдЬрд┐рд╕рдореЗрдВ @sbdchd рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдПрдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

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

рдпрд╣рд╛рдБ Dockerfile рдореИрдВ рджреЗрд╡ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

FROM python:3.6
ENV PYTHONUNBUFFERD 1

RUN apt-get update
RUN apt-get install netcat -y

# -- Install Pipenv:
RUN set -ex && pip install git+git://github.com/pypa/pipenv.git<strong i="6">@8378a1b104f2d817790a05da370bef0a1b00f452</strong>

# -- Install Application into container:
RUN set -ex && mkdir /app

WORKDIR /app

# -- Adding Pipfiles
COPY Pipfile Pipfile
COPY Pipfile.lock Pipfile.lock

# -- Install dependencies:
RUN set -ex && pipenv install --dev --system

WORKDIR /app

VOLUME ["/app"]

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

рдореИрдВрдиреЗ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬреЛ #917 рдореЗрдВ рдбреЙрдХрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЯрд┐рдкреНрдкрдгреА https://github.com/pypa/pipenv/issues/917#issuecomment -375312947 рд╣реИред рдЬрдмрдХрд┐ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред @mcgeeco; рдпрд╣ рдЪрд╛рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдЖрдкрдХреЗ рдЬреИрд╕рд╛ рд╣реА рдерд╛, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореЗрд░рд╛ рдХрд╛рдо-рдЖрд╕рдкрд╛рд╕ рдЙрдкрдпреЛрдЧреА рд▓рдЧреЗ?

рдирдорд╕реНрддреЗ!

python:3.6 рдбреЙрдХрд░ рдЫрд╡рд┐ рдФрд░ pipenv-11.9.0 рд╕рд╛рде рдмрд╕ рдпрд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред

рдпрд╣рд╛рдБ рдПрдХ Dockerfile рдирдореВрдирд╛ рд╣реИ:

FROM python:3.6

WORKDIR /app
COPY . /app/

RUN pip install pipenv
RUN pipenv install --system

EXPOSE 8000

CMD ["python", "main.py"]

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ @Jitsusama рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдзрдиреНрдпрд╡рд╛рджред

рдпрд╣рд╛рдВ рд╡рд╣реА, рдЕрднреА рднреА рдЗрд╕рдХреА рдЪрдкреЗрдЯ рдореЗрдВ рд╣реИред

рдпрд╣рд╛рдБ рдЪрд▓ рд░рд╣реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рджреЛрд╕реНрддреЛрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛ рдереА рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ

рдирдорд╕реНрддреЗ, рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 11.10.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдореВрд▓ рдЫрд╡рд┐ рдЙрдмрдВрдЯреВ рд╣реИ: xenialред

Step 12/22 : COPY Pipfile /tmp/
 ---> Using cache
 ---> 416d6b4f86bf
Step 13/22 : COPY Pipfile.lock.master /tmp/Pipefile.lock
 ---> 40a28443be72
Step 14/22 : RUN cd /tmp && pip3.6 install pipenv==11.10.0 
 ---> Running in 883b8a638d52
Collecting pipenv==11.10.0
  Downloading https://XYZ/api/pypi/pypi/packages/e5/fd/740a41c68c38262265d73191fb686f38d26c4ea1ea6080a65b2b626bedc7/pipenv-11.10.0-py3-none-any.whl (5.6MB)
Collecting virtualenv-clone>=0.2.5 (from pipenv==11.10.0)
  Downloading https://XYZ/api/pypi/pypi/packages/6d/c2/dccb5ccf599e0c5d1eea6acbd058af7a71384f9740179db67a9182a24798/virtualenv_clone-0.3.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=36.2.1 in /usr/local/lib/python3.6/site-packages (from pipenv==11.10.0)
Collecting certifi (from pipenv==11.10.0)
  Downloading https://XYZ/api/pypi/pypi/packages/fa/53/0a5562e2b96749e99a3d55d8c7df91c9e4d8c39a9da1f1a49ac9e4f4b39f/certifi-2018.1.18-py2.py3-none-any.whl (151kB)
Requirement already satisfied: pip>=9.0.1 in /usr/local/lib/python3.6/site-packages (from pipenv==11.10.0)
Collecting virtualenv (from pipenv==11.10.0)
  Downloading https://XYZ/api/pypi/pypi/packages/ed/ea/e20b5cbebf45d3096e8138ab74eda139595d827677f38e9dd543e6015bdf/virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
Installing collected packages: virtualenv-clone, certifi, virtualenv, pipenv
Successfully installed certifi-2018.1.18 pipenv-11.10.0 virtualenv-15.2.0 virtualenv-clone-0.3.0
 ---> c9e452fdc262
Removing intermediate container 883b8a638d52
Step 15/22 : RUN set -ex  && pipenv install --dev --system
 ---> Running in 8c23d30ef730
+ pipenv install --dev --system
Creating a Pipfile for this projectтАж
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  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 366, in install
    selective_upgrade=selective_upgrade,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1730, in do_install
    skip_requirements=skip_requirements,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 634, in ensure_project
    ensure_pipfile(validate=validate, skip_requirements=skip_requirements)
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 288, in ensure_pipfile
    project.create_pipfile(python=python)
  File "/usr/local/lib/python3.6/site-packages/pipenv/project.py", line 557, in create_pipfile
    config_parser = ConfigOptionParser(name=self.name)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pip9/baseparser.py", line 149, in __init__
    assert self.name
AssertionError
The command '/bin/sh -c set -ex  && pipenv install --dev --system' returned a non-zero code: 1

@ рдЕрдВрдХрд┐рддрдорд╛рд░реВ рдирд┐рд░рд╛рд╢рд╛ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рддрдХ рдЗрд╕ рдкрд░ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ) рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЯреБрдХрдбрд╝рд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ RUN cd рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡рд╣ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ WORKDIR /somedirectory рдХреНрдпреЛрдВрдХрд┐ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд░рд┐рдлреИрдХреНрдЯрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдкрдерджрд░реНрд╢реА (рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд╛рдпрдерди рдвреВрдВрдврдирд╛) рдХреБрдЫ рд╣рдж рддрдХ рдЦрд░рд╛рдм рд╣реИ рдЬрдм рдЖрдк рдЗрд╕реЗ / рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ

@techalchemy рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореЗрд░рд╛ рдиреНрдпреВрдирддрдо рдбреЙрдХрд░рдлрд╛рдЗрд▓:

FROM python:3.6-alpine3.7

ENV PYTHONUNBUFFERED=1

WORKDIR app/

COPY Pipfile* app/

RUN set -x \
    && pip install --upgrade pip setuptools wheel pipenv \
    && pipenv install --system --dev

рдФрд░ рддреНрд░реБрдЯрд┐:

+ pipenv install --system --dev
Creating a Pipfile for this projectтАж
Traceback (most recent call last):
  File "/usr/local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  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 366, in install
    selective_upgrade=selective_upgrade,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 1730, in do_install
    skip_requirements=skip_requirements,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 634, in ensure_project
    ensure_pipfile(validate=validate, skip_requirements=skip_requirements)
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 288, in ensure_pipfile
    project.create_pipfile(python=python)
  File "/usr/local/lib/python3.6/site-packages/pipenv/project.py", line 585, in create_pipfile
    'python_version': python_version(required_python)[: len('2.7')]
TypeError: 'NoneType' object is not subscriptable

рдЬреЛ #1939 рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реИред

рдпреЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:

Successfully installed certifi-2018.1.18 pipenv-11.10.0 virtualenv-15.2.0 virtualenv-clone-0.3.0

рдЕрдЧрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВ рдкрд╛рдЗрдерди рдмрд╛рдЗрдирд░реА рдХреЛ рд╕рд┐рдо-рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

RUN set -x \
    && pip install --upgrade pip setuptools wheel pipenv \
    && ln -sf /usr/local/bin/python /bin/python \
    && pipenv install --system --dev

@Midnighter рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ pipfile рд╕реЗ рдЕрдзрд┐рдХ рдХреЙрдкреА рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рд╣рд╛рдВ

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
Flask = "*"

[dev-packages]
pytest = "*"

[requires]
python_version = "3.6"

@Midnighter рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред рдлрд┐рд░ рднреА, рдКрдкрд░ рдХреА рддрд░рд╣ рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрдЦреЗрдВред

@Midnighter рдЖрдк рдЕрдкрдирд╛ WORKDIR рд╕реЗ app/ рдФрд░ рдлрд┐рд░ COPY Pipfile* app/ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдпрд╣ рдЖрдкрдХреЛ /app рдФрд░ рдлрд┐рд░ рдЖрдкрдХреЗ Pipfile рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ /app/app рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ pipenv рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд┐рдкрдлрд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдореИрдВрдиреЗ рдмрд╕ рдпрд╣ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛:

FROM python:3.6-alpine3.7

ENV PYTHONUNBUFFERED=1


COPY Pipfile* app/

WORKDIR app/

RUN set -x \
    && pip install --upgrade pip setuptools wheel pipenv \
    && pipenv install --system --dev

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

рдореИрдВ Docker version 17.09.0-ce, build afdb6d4 рдкрд░ рд╣реВрдВред рдЬрдм рдореИрдВ рдЖрдкрдХреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рдКрдкрд░ рдЖрдЬрд╝рдорд╛рддрд╛ рд╣реВрдБ рддреЛ рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ:

+ pipenv install --system --dev
Pipfile.lock not found, creatingтАж
Locking [dev-packages] dependenciesтАж
ython: not found

рдЬрдм рдореИрдВ рдЗрд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд░рд╛рджрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

FROM python:3.6-alpine3.7

ENV PYTHONUNBUFFERED=1

WORKDIR /app

COPY Pipfile* /app/

RUN set -x \
    && pip install --upgrade pip setuptools wheel pipenv \
    && pipenv install --system --dev

рдореБрдЭреЗ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред

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

рдкрд╛рдЗрдерди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдореИрдВ рд╡рд╣рд╛рдВ --deploy рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рд▓реЙрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@Midnighter pipenv рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрдХрд▓реНрдк рдЬреЛ рдпрд╣ рдЬрдм рддрдХ рдпрд╣ рдПрдХ lockfile рд╣реИ рд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ рдорддрд▓рдм рд╣реИ рдХрд░рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ред рд▓реЗрдХрд┐рди, рдпрджрд┐ рдЖрдк тАФsystem рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ тАФsystem рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ 'рд╡рд░реНрдЪреБрдЕрд▓рдПрдиреНрд╡ рди рдмрдирд╛рдПрдВ' рдЬреЛ рдХрд┐ рд╣рдо рдЕрд▓рдЧрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдореИрд╕реЗрдЬрд┐рдВрдЧ рдмрдврд╝рд┐рдпрд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реИрдВред

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

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

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

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

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

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

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