diff --git a/news/4828.bugfix.rst b/news/4828.bugfix.rst new file mode 100644 index 0000000000..ce5559a2d6 --- /dev/null +++ b/news/4828.bugfix.rst @@ -0,0 +1 @@ +Fix a regression that ``pipenv shell`` fails to start a subshell. diff --git a/pipenv/core.py b/pipenv/core.py index 5fcd82e39f..8d8170eef8 100644 --- a/pipenv/core.py +++ b/pipenv/core.py @@ -2306,7 +2306,7 @@ def do_shell(project, three=None, python=False, fancy=False, shell_args=None, py from .shells import choose_shell - shell = choose_shell() + shell = choose_shell(project) click.echo(fix_utf8("Launching subshell in virtual environment..."), err=True) fork_args = ( diff --git a/pipenv/shells.py b/pipenv/shells.py index ed8cb9ad6f..a2f4b52e32 100644 --- a/pipenv/shells.py +++ b/pipenv/shells.py @@ -232,8 +232,8 @@ def _detect_emulator(): def choose_shell(project): - emulator = project.PIPENV_EMULATOR.lower() or _detect_emulator() - type_, command = project.detect_info() + emulator = project.s.PIPENV_EMULATOR.lower() or _detect_emulator() + type_, command = detect_info(project) shell_types = SHELL_LOOKUP[type_] for key in emulator.split(","): key = key.strip().lower()