Skip to content

Run python file in pipenv environment fails #4245

Closed as not planned
Closed as not planned
@DonJayamanne

Description

@DonJayamanne
  • Use pipenv for current environment
  • Run python file in terminal
    • Open python file , right click and use the menu option Run Python file in terminal
    • The terminal will now open automatically
    • Python Extension will send the text pipenv shell to activate the environment in the terminal
    • The python extension will send the text <python interpreter> <file name> to the terminal
    • Unfortunately there's a race condition here, pipenv shell has not yet completed, and the commands sent later get swallowed up
  • End result, file doesn't run in terminal

Causes:

  • There's no way to determine when terminal has completed processing previously sent commands.
  • VSC is sending messages to the terminal, when its busy

Solutions:

  • Python extension adds a delay between the two commands being sent to the terminal (this is what we do today). However pipenv shell takes longer than other activation routines, hence we need a much longer delay (i.e. a bigger magic number), a work around.
  • Or, VSC provides some api to let us know the terminal is ready to accept input.

microsoft/vscode#67693

Metadata

Metadata

Assignees

Labels

area-terminalbugIssue identified by VS Code Team member as probable bugneeds PRReady to be worked on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions