Python Module issues post 3.9 update

Hi All!

I ran the big system update yesterday and then today I went to work on a web site and python failed to load the flask module. I started poking around and found that python and pip had updated to 3.9 with the big system update that I pull down yesterday. I noticed that my venv bin directory didn’t have pip3.9 or python3.9, which I thought was odd. So I ran the --update and --update-deps and now I see pip3.9 and python3.9 in by binary dir. Tried to run flask again, same error… I ended up having to run

pip3.9 install flask, flask-pymongo, requests

to get my my modules in and then it ran fine. I kinda hate having to do this as it seems like there should be a more elegant fix after a python update so I wanted to post here quick and let someone shine a quick light on this for me. This is my DEV environment and for QA I push it to gunicorn and nginx and it still can’t find gunicorn since I haven’t installed it yet via pip3.9. Prod is on a totally different box that I haven’t updated yet so I’m good there. I even tried going so far as to rename my pip3.9 binary in my venv to _orig and then created a symlink from pip3.9 to pip3 but it still can’t find gunicorn. Ugh…

PS - I should mention that I did boot back in the 5.4 LTS kernel after the update. Shouldn’t really matter for this but worth mentioning.



Thanks @Yochanan

I found a couple of scripts on github too, but my frustration was just simply that lack of innate ability for pip and/or venv to handle this smoothly itself (still don’t understand why --upgrade didn’t do it right). Ultimately, it’s not hard to just run a freeze and then build a new venv with the requirements file from said freeze. It’s like 2 mins. Max. Comparatively not a huge deal just a little surprised and frustrated at it. I do appreciate the response!