A former community discussing the business of software, from the smallest shareware operation to Microsoft. A part of Joel on Software.
We're closed, folks!
Doug Nebeker ("Doug")
Is it possible to build and release software under python?
Did anyone try it before?
Wednesday, July 15, 2015
A quick Google search on 'commercial python applications' suggests it's certainly possible:
However, how does the selection of the programming language affect your application?
If you're developing a reusable library for users in a particular domain, your language selection may be relevant.
If you're developing a desktop app, why would your customers care what language it was developed in provided it solves the problem they'd be willing to pay a solution for? (Hint: they don't).
I like Python. I have tried and found its not simple to produce distributable general purpose GUI apps written in Python that are self enclosed and work on a variety of platforms. Even installing basic Python libraries can be a challenge on many computers, especially when running either older or newer OS's. I have had some success but not to the point I'd be able to take the customer service hit for the many people for whom the distributable doesn't work and they need someone to walk them through installing a bunch of other stuff, or upgrading their whole system.
Marcus, your first link is an article from 2009 that contains some links to "solutions" that don't exist anymore, the linked web sites are nonexistent.
Not criticizing you, but this is typical of what one finds when trying to solve this problem.
In general, it's no big deal if you are distributing to a friend who has the same OS as you and you either use no GUI and no libraries, or you are able to personally set their computer up to work with all you need, which often is a multi-day process.
Hi macus and scott
Thanks for the input
+1 for scott, so it seems deploying to the customer's PC will be a big challenge , I am worried about this too.
Wednesday, July 15, 2015
The original DropBox client was written in Python and wxWidgets:
(do a search for "Python" on the wiki page for some more info and links)
This would indicate that you can indeed package and distribute Python apps in a commercial quality that work on all OS platforms.
I think a benefit of making a GUI app in wxPython/wxPerl is that its really fast to get a prototype app working. I mean you start with all your source in one small file and make some changes and run it each iteration without a compilation step. The source code tends to stay small because perl and python are high level. There are good example source code for the most common things you want to do and you paste in a few small lines from the samples and get some amazing things happening fast. Well that was my experience.
You got some incorrect advice above, I have deployed a Python executable without installing it before, and deploying is the least concern you've got.
On www.py2exe.org you've got what you need, but the first sentence sums it up nice: "py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation."
However I wonder why have you chosen Python for the job? I find the strong typing of C# and Java with their code completion features unmatched for development of complex software using libraries that you barely know (which is a lot of the time), even C++ is better for this than Python, so unless I have a specific reason to use Python or Ruby, I'd rather stick with Java/C#/C++.
I have tried it, yes. My software project is written in Python, but was never released/launched, at least yet. I haven't been particularly concerned about packaging and distributing it on Windows, and have had some success with that already, though of course I'll never really know enough until I try it fully (by "fully" I mean getting it on an appreciable number of customers' computers), and some of that may have changed now that Win 8, 8.1, and soon 10 are on the scene. I know less about how it might go if I try to package it for Mac (or Linux), but I'm hopeful.
My experience is that development has been very (years) slow. The major portion of that is because I started from zero programming knowledge, worked at various largely self-imposed disadvantages, and worked spottily and part-time on a project that was above my head and dealt with at least a few tricky issues. But perhaps some of it is because of some problems with details of the larger Python ecosystem--though I have no basis of comparison as to how it would have gone had I started in C++ or some other set of tools. (And I'm in no way blaming the Python and friends development community; quite the opposite. They've done an amazing job of making all this available. But inevitably, in any large set of tools, there are problems, and some of them require workarounds that I had difficulty surmounting, particularly when I was first learning).
I have been interested in your very question for a long time, and basically don't hear about commercial desktop "mISV" style software written in Python other than the Dropbox client (the projects page given is either open source projects or web applications, although I haven't clicked through every one of them). I hope to be one, because there's no switching horses for me at this point, but this paragraph may tell you something about your own plans.
I did not know of any successful desktop apps written in Python before yesterday, when I downloaded Calibre, a full-fledged open- source e-book manager/converter:
I would say it is quite slick for an open-source Python app.
Dmitry Leskov @Home
Saturday, July 18, 2015
This topic is archived. No further replies will be accepted.Other recent topics
Powered by FogBugz