Commit Graph

3 Commits

Author SHA1 Message Date
Julien P a1880cbddc
Add VIRTUAL_ENV to env var when running in a venv ()
Activating a virtual environment sets a VIRTUAL_ENV environment
variable. Replicate this behaviour in `ActivateVirtualEnv` function.

https://docs.python.org/3/library/venv.html#how-venvs-work
> When a virtual environment has been activated, the VIRTUAL_ENV
environment variable is set to the path of the environment
2024-06-20 10:26:49 +00:00
Julien P 6cee283a42
Support Poetry as Python toolchain ()
# Description

Implement `Toolchain` interface for Poetry.

This does not yet allow the user to select the toolchain during `pulumi
new`, but can be used with a template that has explicit poetry support
https://github.com/pulumi/templates/pull/795/files

```
pulumi new https://github.com/pulumi/templates/tree/julienp/poetry-template/aws-python-poetry 
```
Stacked on top of https://github.com/pulumi/pulumi/pull/16311

Fixes https://github.com/pulumi/pulumi/issues/16314
Ref https://github.com/pulumi/pulumi/issues/15937

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
2024-06-06 14:16:24 +00:00
Julien P 578e0937a9
[Python] Move existing dependency installation and python command invocation to a Toolchain interface ()
# Description

This PR refactors the existing Python dependency installation and
command running code to use the `Toolchain` interface. This will make it
possible to swap out the default Pip based toolchain for a Poetry based
toolchain.

Fixes https://github.com/pulumi/pulumi/issues/16285
Ref https://github.com/pulumi/pulumi/issues/15937

## Checklist

- [x] I have run `make tidy` to update any new dependencies
- [x] I have run `make lint` to verify my code passes the lint check
  - [x] I have formatted my code using `gofumpt`
2024-06-03 13:52:27 +00:00