Skip to content

What is the purpose of the "poetry shell" command? #5050

@jrobbins-LiveData

Description

@jrobbins-LiveData

I am using Poetry on Windows. While there are other issues open about the command prompt opened by poetry shell, I am unclear as to why Poetry needs to create a new shell in the first place? Why isn't it enough to activate the virtual environment?

What does poetry shell do, above and beyond what, e.g., .venv\scripts\activate does?

  • [ x] I have searched the issues of this repo and believe that this is not a duplicate.
  • [x ] I have searched the documentation and believe that my question is not covered.

Issue

I am using Poetry version 1.1.12 on Windows 10. I think I mostly understand the workflow(s) I need to use, with the exception of the poetry shell command. In a new project, poetry shell both creates the virtual environment and activates it. This is well-described by poetry shell --help

DESCRIPTION
  The shell command spawns a shell, according to the
  $SHELL environment variable, within the virtual environment.
  If one doesn't exist yet, it will be created.

I understand the need for a virtual environment. As a new poetry user, I was expecting a command to create a virtual environment and then a (possibly different) command to activate the virtual environment. Given that the shell created on Windows is really sub-optimal (no special $Prompt to remind me that the venv is active, no doskey command history, etc), it would seem to make sense to offer the two commands I was expecting.

Of course, I am new, and likely missing more than concern, so, also, I was hoping for guidance as to what the expected workflow is to get a new project going.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions