You can always have both in parallel. The first one to test changes and deploy to production and the second one to try to upgrade your dependencies. Should all the test pass on the second one, you can then commit the new requirements.txt and other updated package versions.
You can then run the second continuously and warn when it fails and handle whatever happened manually, without having a broken prod.