Re: Deluge Windows Builds
Posted: Sun Jan 02, 2022 1:31 am
So it seems to be just an error with pyinstaller I guess. If you edit or maybe even delete the requitments.txt from the dist/deluge-egg folder(don't remember the exact name). Deluge starts just fine from freeze with small exception of a few changes I need to correct just a couple files in the wrong place.mhertz wrote: ↑Sat Jan 01, 2022 12:59 pm Looks like the windows users very soon will get an official installer, from your nice work. Awesome news, thanks again mate
I know nothing about pyinstaller, so have no input. There's some little info, when googling "pyinstaller can't find certifi", e.g. requests can't find the pem, and some code to add to make it work etc, plus another workaround of another pyinstaller/cerifi issue, but as not having it to "play" with myself, then hard to troubleshoot in blind, though anyway no need, as i'm sure you're better at this than me, so you'll figure it out eventually.
You say only a pem file in the certifi folder if understanding right, so does it work if you added the missing certifi files from the deluge unfreezed build's certifi folder under Lib\site-packages\certifi and into the dist\certifi folder of freezed app? Or else if not work, could play with the google-hits info. As said, I know nothing about pyinstaller/freezing so if saying something stupid here, then apologize in advance.
Good luck mate, and thanks again.
Edit: you're using the certifi hook of pyinstaller-hooks-contrib right? (Again, sorry if dumb question lol ) https://github.com/pyinstaller/pyinstal ... certifi.py
Edit2: Sorry, no solution, just wanted to say that above edit is useless so ignore - I made quick test with installing pyinstaller and making test.py with "from certifi import where; print(where())", and ran 'pyinstaller test.py', and it also only included the pem in dist\certifi, but still running test.exe ran fine and outputted to cmd the dir of the pem as per the certifi.where() function, and which is also that function which is the entirety of deluge's cerifi usage. Also, the certifi hook from contrib was auto-loaded I saw in pyinstaller building output. I Also even uninstalled certifi from host, to make sure not somehow loaded, and still worked, though test.py on host failing as certifi missing - I don't really get how that can work in freezed version, because only the pem seems included, but the certifi package when using where(), needs __init_.py and core.py, because there is where() even defined/included, and couldn't see included elsewhere under dist, but whatever, must regardless be somewhere included still and just wanted you to not spend extra time on my clever ideas, so need look elsewhere, just don't understand how your freezed deluge cannot find certifi distribution, when a simple example like mine worked.