3 ms·
I have the same two complaints. I’ve automated some large tasks at my job with Python, and avoided external dependencies because while I’m sure I could deal wit
by wlesieutre 7y ago
I have the same two complaints. I’ve automated some large tasks at my job with Python, and avoided external dependencies because while I’m sure I could deal with it, nobody else here is a programmer and it don’t think it would go well if someone had to try and figure that out later. “Install python (3.6 or later), point script at the csv file” avoids that complexity.
It’d be better if it were a self contained executable with a GUI but not worth the time to figure that out.
I messed around with TkInter a while back, not sure if anything's new since then. For executables there was py2exe, cx_freeze, and PyInstaller, but the situation with packaging DLLs into an executable that would actually work on someone else's computer was iffy last I checked.
- noobiemcfoob 7y agoI believe fbs might have massaged some of your GUI packaging problems. I haven't used it myself, but a coworker who builds a Windows GUI application swears by it. From him, "It's the package manager python doesn't deserve" https://build-system.fman.io/ https://build-system.fman.io/
- wlesieutre 7y agoLooks interesting, though the license situation seems less than ideal. If it's for an internal only tool, does that fit under all the GPL / LGPL requirements?
- CogitoCogito 7y ago> If it's for an internal only tool, does that fit under all the GPL / LGPL requirements? Yes.
- metalliqaz 7y agoI've found that the built-in tkinter lib is good enough for basic GUIs that you might use on a utility.
- wlesieutre 7y agoThat's the one I've tried a bit before, but haven't spent enough time to be comfortable with it. The crux of it for this project is that if I were making a UI I'd like to move the data validation in to that (and add some more sanity checking) with visual indications if there's a bad row or something looks off. Currently it just it yells at you and terminates if there's invalid data. So a UI rewrite would make it much friendlier to other users, but it'd be a time investment I can't justify over the "just don't give it bad data" strategy. The inputs and outputs are all handled manually so reliability isn't a huge focus as long as someone can poke around for a bit and make it work. Only user is me for now, so ¯\_(ツ)_/¯ # TODO: make it less shitty
- dec0dedab0de 7y agoif you just want to make a self contained executable for windows users I've used py2exe a few times and it always works well. It's basically one command and it gives you an exe of your .py file https://pypi.org/project/py2exe/ https://pypi.org/project/py2exe/
- metroholografix 7y agopy2exe and anything else that uses Joachim Bauch's memory loader is loading DLLs in a broken fashion that is bound to bite you sooner or later, assuming it works in the first place. Reimplementing - in a buggy incompatible way - the Windows loader (which is what that code is doing) from scratch, is a gross hack and should not be used to build anything that's meant to be reliable. Note that pyinstaller and cx_freeze do not suffer from these issues. Do not use py2exe.
- mianos 7y agoI used to be type of of developer who would always make executables and installers in years gone by. I find now in all cases I whip up what I want to do as a script and then embed it in Flask as a webapp. The only thing I don't do this is with compiler tools that I can bring in with cmake etc. If the app needs data I just add an upload button or have it point at S3. YMMV.