it looks to me that these warnings and errors are ...
# python
b
it looks to me that these warnings and errors are related to your python configuration, rather than Pulumi
f
I am installing in a clean Ubun 21.04 server environ in a VM
Don't you think it is because of incompatible core libraries in the latest Pulumi libraries like pulumi-terraform, pulumi-kubernetes etc.
To me it seems they need to be compiled on latest Python 3.9.4 libs?
b
I don't think so, no. I'm using
3.9.2
and it seems to resolve the deps fine. the key message here I think is
pip is looking at multiple versions of <Python from Requires-Python>
can you share your
requirements.txt
- the fact you're pulling all the versions of
pulumi-terraform
makes me think the constraints aren't correct
the official pulumi images use python 3.9: https://github.com/pulumi/pulumi/blob/master/docker/python/Dockerfile#L5 it's not related to the python version
s
what is the package name btw (i saw terraform somewhere in dicussion, not sure)
also, are you installing it without using venv
that's a cardinal sin 🙂
f
No I am not installing using venv. Just on a plain vanilla latest Ubun 21.04 VM using Vagrant
I understand from docs Pulumi suggests venv but I develop in VMs purpose built for specific environs
Thus I have no requirements.txt
b
how are you installing your dependencies?
s
a vm itself can't really be "built" for a python app 🙂
the operatig system itself has python dependencies and it's most likely will conflict your app's dependencies, like the error you're getting
a venv is a very easy, cheap and kinda guaranteed way to solve that
f
I do not have a Python app. I am just setting up the libraries as part of some things I am trying out. Thus I set up the VM with necessary components, Pulumi, Pulumi libraries, Kubernetes and such. It was all working before Ubuntu 21.04 and Py 3.9.4.
Maybe it will be fixed when Ubun 21.04 gets officially released later this week I believe?
s
i don't think so 🙂 whenever you install a package over pip, venv is a "necessary component"
give it a chance, you will benefit 😄
f
Ok thanks Ulgen I will try again. I had tried venv before (5-6 yrs ago) but found developing on Vagrant boxes to be much easier and cleaner.
However, I only ask, since it all used to install with no problems before 3.9.4 - should it not be expected again?
a
+1 for the usage of virtual environments, specially when you can have this on your Pulumi.yaml and you don't even need to activate it:
Copy code
$ cat Pulumi.yaml 
runtime:
  name: python
  options:
    virtualenv: venv
In this case the virtual env is in the directory
venv
at the root of the project. venv is simply easier to manage, quicker, more transparent and less error prone than vagrant boxes or anything else. It was built to solve these kinds of problems.
s
should it not be expected again?
not really. i think that case goes like this: ubuntu's python packages are a bit old (as always) and previous version was fine with it. after the upgrade, pulumi expected different - more fresh versions than OS, and it goes down from there
f
Ok I understand. Ulgen, jaxxstorm, Henrique - thank you for your suggestions. Will work with venv. great to know Pulumi's are newer versions than OS.
s
sorry to bully you into venv but... 🙂