Pipenv: 2018.11.26: рдкрд╛рдЗрдкреЗрдиреЗрд╡ рдПрдХ рд╡рд░реНрдЪреБрдЕрди рдмрдирд╛рддреЗ рд╕рдордп рдкрд╛рдЗрдерди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рджрд┐рд╕ре░ 2018  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pypa/pipenv

рдореБрджреЗ рдХрд╛ рд╡рд┐рд╡рд░рдг

рд╕рдВрднрд╡рддрдГ # 3229 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рдкрд╛рдЗрдкреЗрдирд╡ рдПрдХ рд╡рд░реНрдЪреБрдЕрди рдмрдирд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдлреЗрдВрдХрдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ:

$ pipenv --three
['Traceback (most recent call last):\n', '  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 160, in _create_subprocess\n    combine_stderr=combine_stderr)\n', '  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 134, in _spawn_subprocess\n    return subprocess.Popen(cmd, **options)\n', '  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__\n    restore_signals, start_new_session)\n', '  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1344, in _execute_child\n    raise child_exception_type(errno_num, err_msg, err_filename)\n', "FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/bin/pythonz': '/usr/local/bin/pythonz'\n", '\nDuring handling of the above exception, another exception occurred:\n\n', 'Traceback (most recent call last):\n', '  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/contextmanagers.py", line 150, in spinner\n    yield _spinner\n', '  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 314, in run\n    write_to_stdout=True\n', '  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 162, in _create_subprocess\n    sys.stderr.write("Error %s while executing command %s", exc, " ".join(cmd._parts))\n', 'TypeError: write() takes exactly one argument (3 given)\n']
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 160, in _create_subprocess
    combine_stderr=combine_stderr)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 134, in _spawn_subprocess
    return subprocess.Popen(cmd, **options)
  File "/usr/local/Cellar/python/3.6.5_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "/usr/local/Cellar/python/3.6.5_1/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: '/usr/local/bin/pythonz': '/usr/local/bin/pythonz'

During handling of the above exception, another exception occurred:

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 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1114, in invoke
    return Command.invoke(self, ctx)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/pipenv/cli/command.py", line 208, in cli
    clear=state.clear,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 574, in ensure_project
    pypi_mirror=pypi_mirror,
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 516, in ensure_virtualenv
    ensure_python(three=three, python=python)
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 397, in ensure_python
    path_to_python = find_a_system_python(python)
  File "/usr/local/lib/python3.6/site-packages/pipenv/core.py", line 360, in find_a_system_python
    python_entry = finder.find_python_version(line)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 114, in find_python_version
    major=major, minor=minor, patch=patch, pre=pre, dev=dev, arch=arch, name=name
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 396, in find_python_version
    ver = next(iter(self.get_pythons(sub_finder)), None)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 279, in get_pythons
    reverse=True
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 277, in <genexpr>
    (p for p in self._filter_paths(finder) if p.is_python),
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 264, in <genexpr>
    pth for pth in unnest(finder(p) for p in self.path_entries if p is not None)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/utils.py", line 251, in unnest
    for el in target:
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 264, in <genexpr>
    pth for pth in unnest(finder(p) for p in self.path_entries if p is not None)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/mixins.py", line 121, in find_python_version
    for child in unnest(self.pythons.values())
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 531, in pythons
    for path, entry in self.children.items():
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/cached_property.py", line 35, in __get__
    value = obj.__dict__[self.func.__name__] = self.func(obj)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 501, in children
    for child_key, child_val in self._gen_children():
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 493, in _gen_children
    entry = PathEntry.create(path=child, **pass_args)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 575, in create
    _new = cls(**creation_args)
  File "<attrs generated init b90d7581ea07925e94241736776cf96c889eb52c>", line 16, in __init__
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/path.py", line 518, in get_py_version
    py_version = PythonVersion.from_path(path=self, name=self.name)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/models/python.py", line 395, in from_path
    py_version = get_python_version(path.path.absolute().as_posix())
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/utils.py", line 68, in get_python_version
    combine_stderr=False, write_to_stdout=False)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 314, in run
    write_to_stdout=True
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 162, in _create_subprocess
    sys.stderr.write("Error %s while executing command %s", exc, " ".join(cmd._parts))
TypeError: write() takes exactly one argument (3 given)

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

рдХреЗрд╡рд▓ рдПрдХ virtualenv рдмрдирд╛рддреЗ рд╕рдордп рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧрд┐рдВрдЧ рдХреА рдЙрдореНрдореАрдж рд╣реИред

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

virtualenv рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓ред

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

$ pipenv --three

pipenv --support рднреА рдЗрди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрд╕рд░реНрдЬрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдорд░реНрдерди рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ!

Type Regression Release Blocker Vendored Dependencies

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

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

pipenv --three --python=`which python3`

рдореИрдВ рдЗрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ /usr/local/bin/pythonz рдЕрдм рдПрдХ рд╡реИрдз рдорд╛рд░реНрдЧ рдирд╣реАрдВ рд╣реИред

рд╣рдореНрдоред рдХреНрдпрд╛ рдпрд╣ рдХрднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛? рдореИрдВрдиреЗ рдХрднреА рднреА рд╕реАрдзреЗ рдЕрдЬрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкрд┐рдкреЗрдирд╡ рдирд┐рд░реНрднрд░рддрд╛ рдереА рдЬрдм рдореИрдВрдиреЗ рдкрд┐рдкреЗрдирд╡ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред

рдХрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрднреА рддрдХ 2018.11.26 рддрдХ рдкрд╛рдЗрдкреЗрдВрд╡ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХреА рдФрд░ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк pipenv --support рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд╣реАрдВ, рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛

рдУрд╣ рдПрдирд╡реАрдПрдо рдиреЗ рд╕рд┐рд░реНрдл рдЖрдкрдХрд╛ рд╕рдВрджреЗрд╢ рджреЗрдЦрд╛ред рдореИрдВ рдмрд╕ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╣реАрдВ рдЖрдкрдХреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдкрд┐рдкреЗрдирд╡ рдХрд╛ рдХреЛрдИ рджреБрд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк which pipenv рдФрд░ python -m pipenv --version рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

$ which pipenv
/usr/local/bin/pipenv

python -m pipenv --version рд▓реМрдЯреЗ No module named pipenv рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рджреЛрдиреЛрдВ рдЕрдЬрдЧрд░ 2 рдФрд░ рдЕрдЬрдЧрд░ 3 Homebrew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рд░рд╛рд╢рд┐ python рдЕрдЬрдЧрд░ 2.7 рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдкреВрд░реНрд╡ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рдкрд╛рдЗрдерди 3 рдХреЗ рддрд╣рдд рдкрд┐рдкреЗрдирд╡ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ python3 рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛:

$ python3 -m pipenv --version
pipenv, version 2018.11.26

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

рдЖрд╣ рдЕрдЪреНрдЫрд╛ред рдФрд░ рд╣рд╛рдБ рдмрдЧ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдКрдкрд░ рдХреА рддрд░рдл рдЯреИрдЧ рдХрд░реВрдБрдЧрд╛ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реЛ рдЬрд╛рдП

рдЗрд╕ рдкрд░ рдХреЛрдИ рд╢рдмреНрдж рдХрдм рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдореБрдЭреЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рдкрд┐рдкреЗрдирд╡ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ @commandtab рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pipenv рдорд┐рд▓ рд╕рдХрддреА рд╣реИред

$ which pipenv
/Users/josh/.pyenv/shims/pipenv

$ python -m pipenv --version
pipenv, version 2018.11.26

рдореИрдВ python3.7 homebrew рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛ред

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

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

pipenv --three --python=`which python3`

рдореИрдВ рдЗрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:

рд╡рд╣ рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдореБрдЭреЗ 2018.10.13 рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдЙрд╕ рдереНрд░реЗрдб рдкрд░ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛:

pipenv install -d --python=$HOME/.pyenv/versions/3.7.1/bin/python

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

@techalchemy рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЯреИрдЧ рдлрд┐рдХреНрд╕ рдкрд░ рдХреЛрдИ рд╢рдмреНрдж? рдкрд┐рдкреНрд▓реЗрдирд╡ рд╡рд░реНрдЪреБрдЕрдирд╡ рд╕реГрдЬрди рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЖрд╣реНрд╡рд╛рди рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЖрд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж тЭдя╕П

рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдлрд╝рд┐рдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдореЛрдЯрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ CI рдЕрдм рдкрд╛рд╕ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣ # 3330 рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдореБрд╕реАрдмрдд рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ

рдЖрд╣ рдЕрдЪреНрдЫрд╛ред рдФрд░ рд╣рд╛рдБ рдмрдЧ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдКрдкрд░ рдХреА рддрд░рдл рдЯреИрдЧ рдХрд░реВрдБрдЧрд╛ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдпрд╣ рдареАрдХ рд╣реЛ рдЬрд╛рдП

рдЕрднреА рднреА рдЬрд╛рд░реА рд╣реИ, рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдЬрдм рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдпрд╣рд╛рдБред

@ рдХрдорд╛рдВрдб-рдЯреИрдм рдХреЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╡рд░реНрдХ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрднреА рднреА homebrew pipenv рдФрд░ рдЕрдЬрдЧрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ ... рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рддрдирд╛ рд▓рдВрдмрд╛ рд╣реИ ...

рдореИрдВ рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реЛ рд░рд╣реА рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЧрд┐рдЯрд╣рдм рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдХреНрдпрд╛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдореБрджреНрджреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдЙрдмрдВрдЯреВ 18 рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@techalchemy рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

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

рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдЙрдмрдВрдЯреВ 18 рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ред

рдореБрдЭреЗ рднреА

@techalchemy рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦреЗрдВ

рдпрд╣рд╛рдБ MacO Mojave рдФрд░ рдЕрдЬрдЧрд░ 3.7 рдкрд░ рдПрдХ рд╣реА рдореБрджреНрджрд╛

рдореИрдВ рднреА:

  • рдХреИрдЯрд╛рд▓рд┐рдирд╛
  • рдкрд╛рдпрдерди 3.7ред

рдореЗрд░реЗ Pipfile рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

[requires]

#python_version = "3.7.4"

рдореИрдВ рднреА:

  • рдХреИрдЯрд╛рд▓рд┐рдирд╛
  • рдкрд╛рдпрдерди 3.7ред

рдореЗрд░реЗ Pipfile рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

[requires]

#python_version = "3.7.4"

рдЖрд╣, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж!

@JarredStanford @edsu
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдФрд░ рд╕рд╛рде рд╣реА VSCode рдореЗрдВ WSL рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ (рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд╣рд░реА рд╢реЗрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛)ред

@ рдЖрджреЗрд╢-рдЯреИрдм
"--Python = which python3 " рдЬреЛрдбрд╝рдирд╛ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ "--three" рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рдФрд░ рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ / рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

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

@techalchemy
рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ 3330 рдореЗрдВ "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддрдп" рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рд╕рдорд╛рди рд▓рдХреНрд╖рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдореБрджреНрджрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ WSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ 'python3' рдФрд░ 'python3.exe' рджреЛрдиреЛрдВ рд╣реА рдореЗрд░реЗ WSL рдкрде рдореЗрдВ рд╕рдВрджрд┐рдЧреНрдз рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛, рдХреНрдпрд╛ рдЖрдк рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдЪрд▓рд╛рдКрдВ, рдпрд╛ рдХреБрдЫ рдФрд░?

рдореИрдВ arclinux (manjaro) рдХреЗ рд╕рд╛рде wsl2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдкреЗрдирд╡ рдореЗрдЬрдмрд╛рди рдПрдирд╡реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реИ
рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЬрдЧрд░ рдХреЛ рдХрд╣рд╛рдВ рдвреВрдВрдврдирд╛ рд╣реИ:
pipenv --python=<PATH_TO_PYTHON>
рдпрд╛
pipenv --python=which python3

рдореЗрд░реЗ рд▓рд┐рдпреЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Ubuntu 18.04 LTS рдХреЗ рд╕рд╛рде WSL рдХреЗ рддрд╣рддред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкрд┐рдкреЗрдирд╡ рдПрдХ рдЕрдЬрдЧрд░ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЕрдВрдЬрд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкреАрдЫреЗ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдкрд╛рдЯ рдЯреНрд░реЗрд╕ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдкрд╛рдпрдерди рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдФрд░ рдЬрдм рднреА рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдкрд┐рдкреЗрдирд╡ рдПрдХ рдЕрд▓рдЧ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЙрдмрдВрдЯреВ 18.04 рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд▓ рдХреЗ рддрд╣рдд рдПрдХ рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред pipenv install --python $(which python3) рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдмрд╛рдж рдореЗрдВ pipenv shell pipenv install --python $(which python3) рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдЙрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

WSL 1 рдФрд░ Ubuntu 18.04 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдореИрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВред рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб --python $(which python) рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЕрдкрд╡рд╛рдж рдХреЗ рдЕрдВрддрд┐рдо рднрд╛рдЧ рдХрд╛ рдХрд╛рд░рдг, рдЕрд░реНрдерд╛рдд рдпрд╣ рдмрд┐рдЯ:

  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/pythonfinder/utils.py", line 68, in get_python_version
    combine_stderr=False, write_to_stdout=False)
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 314, in run
    write_to_stdout=True
  File "/usr/local/lib/python3.6/site-packages/pipenv/vendor/vistir/misc.py", line 162, in _create_subprocess
    sys.stderr.write("Error %s while executing command %s", exc, " ".join(cmd._parts))
TypeError: write() takes exactly one argument (3 given)

... рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдЕрдкрд╡рд╛рдж рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдкрд░ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдореЗрдВ рдПрдХ рдмрдЧ рд╣реИред рдпрд╣ рдмрдЧ рдЬрдирд╡рд░реА 2019 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд╛рд╕реНрдЯрд░ рдмреИрдХ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ - https://github.com/pypa/pipenv/commit/574fe7308d9ac81d64da954722f35c9eee054467#diff -a59595db75020aeb9f688d6a04848186186 рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдкрд┐рдкрдирд╡ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг реирежрез6.резрез.реирем рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИред

рдХреЛрдИ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреИрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред /usr/local/lib/<your-python-version>/site-packages/pipenv/vendor/vistir/misc.py рдЦреЛрд▓реЗрдВ, рд▓рд╛рдЗрди 162 рдкрд░ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдмрджрд▓реЗрдВ:

sys.stderr.write("Error %s while executing command %s", exc, " ".join(cmd._parts))

... рдЗрд╕рдХреЗ рд▓рд┐рдП:

sys.stderr.write(f"Error {exc} while executing command " + " ".join(cmd._parts))

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

Error [Errno 8] Exec format error: '/mnt/c/Users/<user>/AppData/Local/Microsoft/WindowsApps/python3.exe' while executing command /mnt/c/Users/<user>/AppData/Local/Microsoft/WindowsApps/python3.exe -c import sys; print(['Traceback (most recent call last):\n', '  File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/vistir/contextmanagers.py", line 150, in spinner\n    yield _spinner\n', '  File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/vistir/misc.py", line 314, in run\n    write_to_stdout=True\n', '  File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/vistir/misc.py", line 160, in _create_subprocess\n    combine_stderr=combine_stderr)\n', '  File "/usr/local/lib/python3.6/dist-packages/pipenv/vendor/vistir/misc.py", line 134, in _spawn_subprocess\n    return subprocess.Popen(cmd, **options)\n', '  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__\n    restore_signals, start_new_session)\n', '  File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child\n    raise child_exception_type(errno_num, err_msg, err_filename)\n', "OSError: [Errno 8] Exec format error: '/mnt/c/Users/<user>/AppData/Local/Microsoft/WindowsApps/python3.exe'\n"]

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

[requires]
python_version = "3.6.8"  # Make sure this exactly matches an installed version, or remove it.

рдЙрдореНрдореАрдж рд╣реИ рдХреА рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди pipenv lock рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ Pipfile рдХреЛ рд╣рдЯрд╛рдирд╛, рдФрд░ рдлрд┐рд░ рдкреБрд░рд╛рдиреЗ Pipfile рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд╛рдкрд╕ рд░рдЦрдирд╛ рдФрд░ pipenv install рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ред

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

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

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

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

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

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

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