Ah ok, I read the wrong thing (maybe it was the printer firmware side? can't remember!), sorry.
I have done some more poking and it definitely creates its own virtual environment, looked through the install scripts - as good software does - so there should be no issue at all, since we are only touching OctoPrint's environment.
Klipper will still work, since all OctoPi distributions have both Python 2.7 and 3.x installed at a system level - that does not change in the script, the only thing that does is the virtual environment where OctoPrint (not klipper) is installed.
To add to that: while it is not possible to eg run OctoPrint with Python 3 and a plugin for OctoPrint with Python 2, it is possible to run OctoPrint with Python 3 and Klipper with Python 2 because they are different processes.
From what I have heard, no, the plugin is not required. If you do intend to use the plugin with OctoPrint running on Python 3, you must use the Python 3 version of the plugin. However, Klipper itself can be running on Python 2.
Read (and follow) the instructions on upgrading more carefully. The upgrade script is not a plugin, so it should not be installed as a plugin. The upgrade script is something you would run in an SSH session (eg Putty), or using a keyboard and display on the Pi.
You can use Octoprint and Klipper without the plugin. The printer-queue is /tmp/primter which looks a bit odd, but for Octoprint, Klipper behaves like a standard printer. It handles the common G-codes like temperature control, G28, G1 and the like. The plugin gives you the capability to edit the Klipper-configuration with data like default acceleration etc from within the browser. This is a huge bonus over Marlin where simple things like configuring ABL require the compilation of a new firmware file.
The upgrade worked very well. So simple. Thanks for making the upgrade easy. I did have one issue after the upgrade. Trying to install a new plugin, I got the error message that my OctoPrint was not connected to the internet. I ran through all of the connectivity checks and it was connected. I spent a little time trying to identify the issue with no success. I rebooted Octoprint and the Raspberry Pi several times, no joy.
I decided to manually download the zip file for the plugin that I wanted. It upgraded and once the system rebooted it was working fine.
You should get a notice that it has been transferred, but you need to reinstall as the updates are looking in the wrong place. See plugin notices if you don't get it, at the bottom Plugin notices
If you go to Settings > Plugin Manger > Get More then find 'Filament Manager' there should be a reinstall button beside it you may need to check it is not filtered on installed plugins only.
Or if you can't find that, uninstall without cleaning data (you'll lose all your config) then install it again.
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.
ERROR: failed to update package list
Please try manually
Definitely connected to the internet
pi@octopi:~ $ sudo apt-get update
[sudo] password for pi:
Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Hit:2 http://archive.raspberrypi.org/debian buster InRelease
Fetched 15.0 kB in 1s (13.8 kB/s)
Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.