No, they aren't hard to use. They may be different to package than for, say, Linux, but even that is just different and not harder. (And it's not even different significantly if you use pyInstaller.)
As a user of various python apps on windows I can tell that in practice it’s one of most confusing experience among all other languages. I have to purge everything python-related and reinstall it once a year.
If you are using apps that have been packaged with PyInstaller (or a number of other methods) for end-user use, I don't understand this: I use a number, and it's completely painless.
If you are using a systemwide Python installation and installing apps into it with pip, then, yes, that's potentially a world of needless pain.
1. any ui lib for python needs binaries that have to be present on the computer of the user. Under linux for example you just add an dependency to the package and add your own deps
If they aren't shipped. Under windows you better ship everything, including the python runtime.
2. Windows has no standard paths. If you decide to not ship everything for windows, the user has to install everything manually.
3. You alwys have to remember to use pathlib when interacting with files, because only windows uses \ as an path seperator and has an 260 filename limit. Pathlib abstracts it a bit away.