Python Pulumi: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 32: Line 32:
   ├─ [[pip#requirements.txt|requirements.txt]]
   ├─ [[pip#requirements.txt|requirements.txt]]
   └─ venv
   └─ venv
          ├─ bin
      ├─ bin
          ├─ include
        │      ├─ pip
          ├─ lib
        │      └─ python
          └─ pyvenv.cfg
      ├─ include
      ├─ lib
      └─ pyvenv.cfg


</font>
</font>

Revision as of 05:54, 11 January 2022

External

Internal

Pulumi Python SDK

https://www.pulumi.com/docs/reference/pkg/python/pulumi/

The SDK is available as a pip package.

Python Pulumi and Virtual Environments

A new Python project created with pulumi new will have a virtual environment created in a venv directory with required dependencies from requirements.txt installed in it. This behavior is controlled by the virtualenv runtime option in Pulumi.yaml:

runtime:
  name: python
  options:
    virtualenv: venv

virtualenv is the path, relative to the project directory, to the virtual environment to use.

Pulumi Python Packges

https://www.pulumi.com/docs/reference/pkg/

Adding a New Dependency

To install a new dependency in the virtual environment, add the entry to requirements.txt and run in the project directory:

venv/bin/pip install -r requirements.txt

Project Layout

 my-project
  │
  ├─ README.md
  ├─ Pulumi.yaml
  ├─ Pulumi.my-stack.yaml
  ├─ __main__.py
  ├─ requirements.txt
  └─ venv
      ├─ bin
       │       ├─ pip
       │       └─ python
      ├─ include
      ├─ lib
      └─ pyvenv.cfg